JQuery Simple Validateur addMethod ne fonctionne pas
Mise à jour de question sur le fond
Je suis en train de valider un super forme simple. Finalement, le nom d'utilisateur sera par rapport à une RegExp instruction et la même volonté d'aller pour le mot de passe. Cependant, maintenant, je suis juste essayer d'apprendre le Validateur addMethod format.
J'ai actuellement ce script:
JQuery.validator.addMethod(
"legalName",
function(value, element) {
if (element.value == "bob")
{
return false;
}
else return true;
},
"Use a valid username."
);
$(document).ready(function() {
$("#form1").validate({
rules: {
username: {
legalName: true
}
},
});
});
Qui, si je ne me trompe pas doit retourner false et de répondre avec "Utiliser un nom d'utilisateur valide." si je devais mettre "bob" dans le formulaire.
Cependant, il est tout simplement l'envoyer.
Je suis un lien vers JQuery AVANT Validateur dans l'en-tête comme indiqué.
Mon uber simple formulaire ressemble à ceci:
<form id="form1" method="post" action="">
<div class="form-row"><span class="label">Username *</span><input type="text" name="username" /></div>
<div class="form-row"><input class="submit" type="submit" value="Submit"></div>
</form>
Enfin, comment aurais-je aller sur la restructuration par la addMethod fonction retourne true if
et false
à la else
scène tout en conservant le message d'alerte pour un false
retour?
(ignorer cette dernière partie si vous ne comprenez pas ce que j'essayais de dire 🙂 )
Merci d'avance.
Merci à tous ceux qui ont relevé mon JQuery
-> jQuery
faute de frappe.
Nouveau -> RegEx en jQuery Validateur addMethod
Idéalement, je suis en train de transformer cela en un simple formulaire de connexion (nom d'utilisateur/mot de passe). C'est à des fins de démonstration seulement alors il l'habitude ont une base de données attachée ou quoi que ce soit, juste une simple js validations. Je suis à la recherche de faire le nom d'utilisateur pour valider <48 caractères, en anglais seulement des lettres et des chiffres, pas de caractères spéciaux. J'ai pensé à une liste blanche serait plus facile si j'avais quelque chose comme ceci: ^[a-zA-Z0-9]*${1,48}
mais je ne suis pas sûr si c'est la bonne JS RegExp (elle varie de Ruby RegExp si je ne me trompe pas?...Habituellement j'utilise rubular.com). Mot de passe sera similaire, mais nécessitent quelques majuscules/minuscules et des chiffres.
Je crois que j'ai besoin de faire un autre $.validator.addMethod
pour legalPassword
qui seront très semblables.
Modifier
changé la regexp pour ^[a-zA-Z0-9]+$
et a ajouté maxlength: 48
à mes valider la fonction. Toutefois, la regexp ne fonctionne toujours pas, et aussi loin que je peux dire c'est correct.
jQuery
( petites j
) pas JQuery
(capital)Merci à tous ceux qui ont mentionné le cas sensibles à la faute de frappe! Je vais essayer d'expliquer la seconde partie un peu mieux maintenant.
OriginalL'auteur tehaaron | 2011-03-08
Vous devez vous connecter pour publier un commentaire.
Vous utilisez
JQuery
, pasjQuery
(peuj
).JavaScript est sensible à la casse...
Si
$
points à votrejQuery
objet (il le fait par défaut), alors vous pouvez simplement l'utiliser.Que pour la réalisation de votre fonction de validation, vous qui pourrait faire terser comme si...
Pour une comparaison de la casse, utilisez
toLowerCase()
sur levalue
premier.Vous obtiendrez une meilleure exposition en publiant une nouvelle question 🙂
C'est vrai...et vous pouvez obtenir une autre répondu à la question de cette façon 😉 haha
OriginalL'auteur alex
J'ai été en mesure de corriger la première partie, simplement en changeant
JQuery.validator.addMethod
à$.validator.addMethod
.Je ne comprend pas tout à fait à votre deuxième question. Si vous décrivez le problème que vous êtes intéressé par la réalisation, peut-être je peux vous aider à y arriver.
OriginalL'auteur dleavitt
essayer avec
voir le DÉMO
OriginalL'auteur diEcho