2013-07-10 16 views
5

Chciałbym dodać niestandardową regułę do sprawdzania poprawności jQuery, a gdy sprawdziłem dokumenty, nie byłem w stanie dowiedzieć się, jak to zrobić.Tworzenie niestandardowej reguły w jQuery Validate

Chcę pętli nad zestawem ukrytych pól formularza. Jeśli wartości pól to "X", to chciałbym dodać do pola klasę błędów.

Zasadniczo to, ale dodawana z reguły do ​​sprawdzania poprawności jQuery.

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

chcesz pętla to wejście, należy $ (”. myHiddenField dopływy t "). each (function() {}) – areschen

+0

Areschen, nie pytam, jak wybrać element - raczej jak zaimplementować to w jQuery validate fw. –

Odpowiedz

1

Jeśli chcesz pokazać kilka niestandardowych komunikatów o błędach bez dodawania rzeczywiste reguły wtedy można użyć metody showErrors(), ale jeśli pracujesz na ukrytym polu może nie działać

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

Ty może używać 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

Pozwól mi spróbować. Dzięki! –

+1

Polski proszę .. Nie powinieneś używać swojego lokalnego języka, więc twój komentarz może pomóc także innym ludziom. =) –

+0

Ayon sa [translate.google] (http://translate.google.com.ph/#auto/en/ Ano% 20yun% 3F% 20kahit% 20anong% 20pangalan% 20nung% 20yourRuleName% 3F% 20 lub% 20nakadepende% 20dun% 20sa% 20klasa% 2C% 20% 20%% 20%% 3F): Co to jest? yourRuleName niezależnie od nazwy? lub dun zależy od klasy, atrybutu lub id? –

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

To bardzo źle pokazać, jak stworzyć pewne dostosowanie, ale nie pokazać, jak z niego korzystać. Odpowiedź Nikko Reyes jest o wiele lepsza niż twoja. – Konstantin

Powiązane problemy