2016-11-29 6 views
1

テキスト入力に対してルールを作成していますが、ルールの作成時にエラーが発生します。エラーがJQueryの検証で単純なルールを作成するとエラーが発生する

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

が定義されていない

検証ファイルのこの行から来ている

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"

settings = $.data(element.form, "validator").settings; 

を言います。どうしてこれなの???ここで

は、ここで要素

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

あるルールはあなたが

$('#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

私はそれを解決しました。私はformタグにrole = "form"属性を追加する必要がありました! WTF! – user1186050

+0

okフォームを最初に検証しないと、エラーがスローされていることに気付きました!これは正しいです? – user1186050

+0

引用OP:* "フォームタグに' role = "form"属性を追加する必要がありました! "*〜[私はそうは思わない。それなしでうまく動作します。](http://jsfiddle.net/1rmLksw8/) – Sparky

答えて

0

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

ある必見最初は、フォーム要素に.validate()メソッドを呼び出すことによってプラグインを初期化します。

$('#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?

フォーム最初に...あなたは.validate()メソッドを呼び出すことによってそれを "初期化" "検証" しません。

関連する問題