Quelque chose comme ceci:
$(document).ready(function()
{
jQuery.validator.addMethod("validateCountries", function(value, element) {
alert('s');
return this.optional(element) || /^\d{3}-\d{3}-\d{4}$/.test(value);
});
// add the validation rule
$("#form1").validate();
$("#lbCountries").rules("add", { validateCountries:true });
});
Dans la méthode Add vous pouvez effectuer votre validation!
MISE À JOUR 1:
Avec texte dynamique vous perdrez les messages d'erreur affichés. Voici un moyen de résoudre ce problème:
// add the validation rule
$("#form1").validate(
{
messages: { lbCountries: "please specify the countries" }
}
);
lbCountries est un contrôle ListBox.
MISE À JOUR 2:
Vous pouvez joindre un autre attribut de règle à la règle comme indiqué ci-dessous:
$("#lbCountries").rules("add", { validateCountries:true, noOfSelectedItems:3 });
Maintenant, vous pouvez vérifier la règle lorsque l'événement est déclenché:
$("#lbCountries").rules().noOfSelectedItems; // this will return 3
Mais que se passe-t-il si j'avais une liste de cases à cocher et je voulais m'assurer que seulement 4 ont été vérifiés, mais cette valeur ne peut pas être codée en dur? J'ai besoin d'un moyen de le faire parfois dire "Seuls les cases à cocher peuvent être sélectionnés.". –
JamesB41
Vous pouvez faire un hack (pas sympa) en ayant une propriété personnalisée sur la case à cocher comme seulement = 4. Maintenant, lorsque vous accédez à la liste de cases à cocher vous pouvez trouver combien de cases doivent être définies et vous pouvez valider cela! – azamsharp
La validation elle-même n'est pas le problème, je peux juste utiliser un caché pour cela. La partie spécifique avec laquelle je suis en difficulté est de faire le * message * lui-même adapté au nombre que je cherche. – JamesB41