2009-10-27 6 views
0

Cela pourrait être une question simple mais je suis tout ce picking up donc s'il vous plaît être gentil :)JQuery Validation - Règle unique pour plusieurs champs?

En utilisant la validation JQuery, si je veux une zone de texte soit un champ obligatoire, je peux juste ajouter une classe CSS de « nécessaire "à l'élément et il est repris par la validation.

Si je veux une règle un peu plus complexe, ie. avec une longueur minimale, puis-je utiliser un nom de classe css personnalisé comme clé pour une règle, ou dois-je écrire une règle séparée pour chaque zone de texte sur laquelle je veux une longueur minimale? La documentation indique que la clé d'une règle personnalisée est l'attribut Name d'un élément.

Merci à l'avance, Nick

EDIT:

J'ai essayé d'ajouter une règle, puis addind le nom de règle aux éléments en tant que classe, mais il est complètement ignorée.

Dans mon script:

$("#popupWindow #frmWidgetUpdate").validate({ 
    rules: { 
     minLength3: { 
     required: true, 
     minlength: 3 
     } 
    }, 
    errorClass: "field-validation-error", 
    highlight: function(element, errorClass) { 
     $(element).addClass("input-validation-error"); 
    }, 
    unhighlight: function(element, errorClass) { 
     $(element).removeClass("input-validation-error"); 
    }, 
    errorPlacement: function(error, element) { 
     error.appendTo(element.parent().find(".errorLabel")); 
    } 
    }); 

Dans mon html:

<label>Widget Title:<span class="errorLabel"></span><br /> 
    <%=Html.TextBox("WidgetTitle", _ 
        Model.WidgetTitle, _ 
        New With {.class = "param minLength3", _ 
          .style = "width:100%;", _ 
          .maxlength = "50"})%> 
</label> 

Répondre

1

Il suffit d'utiliser les noms de classes multiples:

<input class="required numeric mySpecialRule" ... 
+0

que je fais évidemment ce mal car il est complètement ignorant mon règles :( – Nick

+1

Commencez avec quelque chose de plus simple, faites-le fonctionner, puis compliquez-le :) –

Questions connexes