2013-07-10 12 views
5

Vorrei aggiungere una regola personalizzata a jQuery validate e, mentre ho controllato i documenti, non sono stato in grado di scoprire come farlo.Creazione di una regola personalizzata in jQuery Validate

Desidero eseguire il loop su una serie di campi modulo nascosti. Se il valore dei campi è "X", desidero aggiungere una classe di errore a un campo.

Quindi essenzialmente questo, ma aggiunto come regola per validare jQuery.

$(".myHiddenField").each(function() { 
    if($(this).val() == "x") { 
    $(this).closest(".foo").appendClass("error"); 
    } 
}); 
+0

volete ciclo questo ingresso, si dovrebbe $ (". myHiddenField inpu t "). each (function() {}) – areschen

+0

Areschen, non sto chiedendo come selezionare l'elemento - piuttosto come implementarlo all'interno di jQuery validate fw. –

risposta

1

Se si desidera visualizzare alcuni messaggi di errore personalizzati senza l'aggiunta di una regola attuale quindi è possibile utilizzare il metodo showErrors(), ma se si sta lavorando su un campo nascosto potrebbe non funzionare

var validator = $("<form-selector>").validate(); 

var errors = {}; 
$(".myHiddenField").each(function() { 
    var $this = $(this); 
    if($this.val() == "x") { 
     errors[$this.attr('name')] = 'Some error message'; 
    } 
}); 

validator.showErrors(errors); 
12

È può utilizzare addMethod()

$.validator.addMethod('yourRuleName', function (value, element, param) { 
    //Your Validation Here 

    return isValid; // return bool here if valid or not. 
}, 'Your error message!'); 


$('#myform').validate({ 
    rules: { 
     field1: { 
      yourRuleName: true 
     } 
    } 
}); 
+0

Lasciatemi fare un tentativo. Grazie! –

+1

Inglese per favore ... Non dovresti usare la tua lingua locale in modo che il tuo commento possa aiutare anche altre persone. =) –

+0

Ayon sa [translate.google] (http://translate.google.com.ph/#auto/en/ Ano% 20yun% 3F% 20kahit% 20anong% 20pangalan% 20nung% 20yourRuleName% 3F% 20or% 20nakadepende% 20dun% 20sa% 20class% 2C% 20attribute% 20or% 20id% 3F): Che cos'è? yourRuleNome qualunque nome? o dun dipende da classe, attributo o id? –

0
$.validator.addMethod("NOTx", function(element,value) { 
    return value != "x"; 
}, 'warning word"!'); 
+0

È molto brutto mostrare come creare alcune personalizzazioni ma non mostrare come usarlo. La risposta di Nikko Reyes è decisamente migliore della tua. – Konstantin

Problemi correlati