2016-11-29 2 views
1

Ich erstelle eine Regel für eine Texteingabe, aber einen Fehler erhalten, wenn die Regel erstellt wird. Der Fehler sagtJQuery Validierung löst Fehler beim Erstellen einer einfachen Regel

Unhandled exception at line 147, column 4 in https://localhost:44368/Scripts/jquery.validate.js 0x800a138f - JavaScript runtime error: Unable to get property 'settings' of undefined or null reference"

die

in der Validate-Datei von dieser Linie kommt
settings = $.data(element.form, "validator").settings; 

wo

$.data(element.form, "validator") 

nicht definiert ist. Warum ist das???

ist hier das Element

<input class="form-control input-lg" id="zipCodeText" type="text" placeholder="e. g. 94901" value="94102"> 

Hier ist die Regel

$('#zipCodeText').rules("add", { 
    required: true, 
    minlength: 5, 
    maxlength: 5, 
    messages: { 
    required: "Required input", 
    minlength: jQuery.validator.format("Please, {0} characters are necessary"), 
    maxlength: jQuery.validator.format("Please, {0} characters are necessary") 
    } 
}); 
+0

ok Ich löste es, ich musste eine Rolle hinzufügen "Form" Attribut zum Formular-Tag! WTF! – user1186050

+0

ok Ich habe auch bemerkt, dass der Fehler ausgelöst wird, wenn ich das Formular nicht zuerst validiere! ist das richtig? – user1186050

+0

Zitat OP: * "Ich musste ein' role = "form" 'Attribut zum Formular-Tag hinzufügen!" * ~ [Ich glaube nicht. Funktioniert ohne sie.] (Http://jsfiddle.net/1rmLksw8/) – Sparky

Antwort

0

JavaScript runtime error: Unable to get property 'settings' of undefined or null reference"

Sie Muss erste initialisieren das Plugin durch die .validate() Methode auf dem Formular-Element aufrufen.

$('#yourform').validate({ // <-- INITIALIZE the plugin on your form 
    // any options, rules, or callbacks 
}); 

ok I also noticed that the error is thrown if I don't validate the form first! is this correct?

You "validieren" nicht die Form zuerst ... Sie "initialisieren" es durch die .validate() Methode aufrufen.

Verwandte Themen