Ma validation n'accepte que les alphabets. je veux aussi permettre des espaces.
$.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[a-zA-Z]+$/);
});
quel changement faut-il faire ici?
Au lieu de l'expression rationnelle ci-dessous:
/^[a-zA-Z]+$/
Utilisez ceci:
/^[a-zA-Z\s]+$/
Cela prendra également de la place.
jQuery.validator.addMethod("lettersonlys", function(value, element) {
return this.optional(element) || /^[a-zA-Z ]*$/.test(value);
}, "Letters only please");
modèle utiliser "/ ^ [a-zA-Z] * $ /"
Laissez simplement un espace ou utilisez \s
dans votre expression régulière:
$.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[a-zA-Z\s]+$/);
// -- or leave a space here ^^
});
Votre validation est correcte. Vous avez juste besoin de changer l'expression régulière /^[a-zA-Z ]*$/
$.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[a-zA-Z ]*$/);
});