Comment créez-vous une règle simple et personnalisée à l'aide du plug-in jQuery Validate (à l'aide addMethod
) qui n'utilise pas d'expression régulière?
Par exemple, quelle fonction créerait une règle qui ne valide que si au moins une case d'un groupe de cases à cocher est cochée?
javascript
jquery
jquery-validate
Edward
la source
la source
Réponses:
Vous pouvez créer une règle simple en faisant quelque chose comme ceci:
Et puis appliquer ceci comme ceci:
Modifiez simplement le contenu de 'addMethod' pour valider vos cases à cocher.
la source
la source
remote
comme d'autres l'ont suggéré mais pour autant que je sache, cela ne permet qu'une seule validation, donc cela ne fonctionnerait pas si vous avez besoin de deux validations asynchrones ou si vous avez plusieurs messages d'erreur en fonction de la réponse.la source
Règle personnalisée et attribut de données
Vous pouvez créer une règle personnalisée et l'attacher à un élément à l'aide de l'
data
attribut à l'aide de la syntaxedata-rule-rulename="true";
Donc, pour vérifier si au moins une case d'un groupe de cases à cocher est cochée:
data-rule-oneormorechecked
addMethod
Et vous pouvez également remplacer le message d'une règle (par exemple: au moins 1 doit être sélectionné) en utilisant la syntaxe
data-msg-rulename="my new message"
.REMARQUE
Si vous utilisez la
data-rule-rulename
méthode, vous devrez vous assurer que le nom de la règle est entièrement en minuscules. En effet, la fonction de validation jQuerydataRules
s'applique.toLowerCase()
à comparer et la spécification HTML5 n'autorise pas les majuscules.Exemple de travail
la source
Merci, ça a marché!
Voici le code final:
la source
Vous pouvez ajouter une règle personnalisée comme celle-ci:
Et ajoutez-le comme une règle comme celle-ci:
la source
Dans ce cas: formulaire d'inscription de l'utilisateur, l'utilisateur doit choisir un nom d'utilisateur qui n'est pas pris.
Cela signifie que nous devons créer une règle de validation personnalisée, qui enverra une demande http asynchrone avec un serveur distant.
la source