2012-10-24 12 views
10

Ich habe ein Problem mit jQuery Validierung und muss einige Felder zu ignorieren.jQuery Validierung mehrere Selektoren für ignorieren

Ich muss Felder basierend auf einer Klasse, die ich festgelegt habe, und dann auch alle ausgeblendeten Felder ignorieren. Was ich tun muss, ist das Folgende, aber es ist nur die zweite ignorieren. Ich gehe davon aus, dass es eine Möglichkeit gibt, jQuery Validation diese mehreren Selektoren zu nennen, aber ich kann es nicht finden.

validator = $("#form1").validate({ 
    onsubmit: false, 
    ignore: ".ignore", 
    ignore: ":hidden", 

Danke,

Tim

Antwort

32

Von der Validierungsdokumentation:

jQuery ist nicht-Methode verwendet wird, also alles, was von nicht() akzeptiert wird, kann als diese übergeben werden Möglichkeit.

daher alles, was Sie tun müssen, ist ein Parameter mit Selektoren durch Komma getrennt passieren:

validator = $("#form1").validate({ 
    onsubmit: false, 
    ignore: ".ignore, :hidden" 
}); 
+0

Natürlich wäre es so einfach - Hand auf die Stirn ... warum habe ich das nicht einfach versucht? Vielen Dank! – divtag

+0

Die Dokumentation macht dies nicht völlig offensichtlich - wenn Sie 'ignore:" .ignore "' setzen, ersetzt das _ den Standardwert von 'ignore:": hidden "'. Wenn also die Validierung versteckte Felder ignorieren soll, wie es standardmäßig ist, _and_ zusätzliche Felder nach Klassennamen oder was auch immer ignorieren, müssen Sie die Selektoren verketten, wie oben gezeigt. – daGUY

1

Sie eine Klasse für alle ausgeblendeten Felder hinzufügen:

$(":hidden").addClass('ignore'); 

http://api.jquery.com/addClass/

+2

Danke, ich hatte darüber nachgedacht, wollte das aber nicht tun, denn dann müsste ich jedes Mal, wenn ich Elemente anzeigen oder ausblenden wollte, diese Klasse entfernen/hinzufügen. – divtag

3

Sie könnten versuchen mit:

ignore: ".ignore, :hidden" 
0

Es funktioniert auch doppelt "nicht()". Beispiel:

Auf diese Weise werden einige ausgeblendete Felder nicht ignoriert. Wird möglicherweise benötigt, wenn jemand dropdawn und Checkbox-Anpassungs-Plugins verwendet.

+0

Bitte überprüfen Sie Ihre Grammatik und erwägen Sie, dies zu einem Kommentar zu machen, dies ist nur eine Ergänzung zu einer bereits bestehenden Antwort. –