J'ai tenté d'implémenter une méthode de validation personnalisée ASP.NET MVC. Tutoriels que j'ai utilisé tels que codeproject expliquer que vous ajoutez data-val-customname
à l'élément. Ensuite jQuery.validate.unobtrusive.js
utilise alors le troisième segment de l'attributMéthode de validation personnalisée discrète non déclenchée selon la documentation
data-val-<customname>
comme le nom de la règle, comme indiqué ci-dessous.
$.validator.addMethod('customname', function(value, element, param) {
//... return true or false
});
Cependant, je n'arrive pas à déclencher la méthode customname. En jouant, j'ai réussi à faire fonctionner le code ci-dessous, mais selon toutes les sources que j'ai lues, la validation discrète ne devrait pas fonctionner comme ça.
$.validator.addMethod('data-val-customname', function(value, element, param) {
//... return true or false
});
J'ai posté un exemple des deux méthodes jsfiddle example
Toute aide serait grandement appréciée
J'ai mis à jour ma question, espérons-faire plus clair.
Vous malentendu l'utilisation des données ''-val-attributs. Ils sont lus par 'jquery.validate.unobtrusive.js' pour ajouter les règles d'un élément, ce que vous ne faites pas actuellement. Voir la [mise à jour du violon] (https://jsfiddle.net/2hk3kqzk/14/) pour savoir comment ajouter les règles pour un élément –
Merci pour votre réponse, j'étais peut-être sous l'impression que l'ajout d'un adaptateur effectué un remappage optionnel des paramètres ajoutés en tant qu'attributs à l'élément afin que les règles puissent accéder aux données dont ils ont besoin. La chose est cependant dans [le violon mis à jour] (https://jsfiddle.net/2hk3kqzk/14/) les deux méthodes de validation personnalisées ne se déclenchent toujours pas malgré l'ajout des adaptateurs à 'jquery.validate.unobtrusive.js'. –
Désolé, je ne comprends pas ce que vous voulez dire. Si vous laissez la zone de texte vide et cliquez sur le bouton, le message défini par 'data-val-one' s'affiche, et si vous entrez une valeur, vous obtenez le message défini par' data-val-two', ce qui est supposé se passer. Qu'attendez-vous? –