2016-10-21 3 views
-3

Ich verwende diese https://jsfiddle.net/rz0zk5u6/2/, um 2 Formulare auf der gleichen Seite zu validieren.

die Formen unterscheiden zu können, kann ich

$.validator.setDefaults({}); 

von

$("#loginForm").validator.setDefaults({}); 

ersetzen?

+0

Sie können '$ (" form "). Validator' verwenden.Dieser Selektor dient zur Auswahl aller Formulare, unabhängig von Namen oder IDs. –

+0

Hoppla, ja ich wollte sagen: $ ("# loginForm"). Validator.setDefaults ({}); mit der # offensichtlich! – Xavier

Antwort

0
$.validator.setDefaults({}); 

ist es, die globale Standardeinstellungen für die Einstellung. Wenn Sie möchten Optionen pro-Form setzen, verwenden Sie:

var loginForm = $('#loginForm').validate({ 
    // options go here 
}); 

als described in the docs. Dann können Sie verwenden:

loginForm.form(); 

die Validierung als described here auszuführen.

+0

Also meinst du, ich kann den "setDefaults" Inhalt in die validate() Funktion, nach den Regeln? – Xavier

+0

@ Xavier Ja. [This] (https://jqueryvalidation.org/jQuery.validator.setDefaults/) sagt, dass sie die gleichen Optionen akzeptieren. – Ouroborus

+0

Ok, danke! – Xavier

0

Ja, jquery-Plugins werden auf Elemente in einem selection/jquery-Objekt angewendet. Wenn Sie mehrere Formulare auswählen, wendet es den Validator auf alle an. Die folgenden machen alle dasselbe; Wenden Sie den Validator auf mehrere Formulare an.

$('form').validator.setDefaults({}); 
$('#loginForm, #anotherForm').validator.setDefaults({}); 
var forms = $('form'); 
forms.validator.setDefaults({}); 
+0

Okay, aber warte! Warum dieser Fehler: "Uncaught TypeError: Kann die Eigenschaft 'setDefaults' nicht definiert 'nicht lesen? – Xavier

+1

Denn was auch immer Ihr Validator-Plugin hat, hat keine 'setDefaults()' Methode, wenn es so angewendet wird. – Soviut

Verwandte Themen