8

JQuery検証プラグインバージョンのリリース以降1.9.0、非表示フィールドは検証チェック[ソース]から自動的に省略されています。

リリースノートによると、これを回避する方法はignore: []、検証機能で設定することです。

バージョンを使用すると、または1.10.0を使用して非表示になっている入力フィールドでこれを機能させることができません。display: nonevisibility: hidden

私の検証はクラス(たとえばclass="required")を使用して行われ、検証機能はかなり基本的です。

JQuery

$("form").validate({
    ignore: [],  
    errorPlacement: function(error, element) {
        error.appendTo( $('#error-message') )
    },
    invalidHandler: function() {
        //do something 
    },
    submitHandler: function() {
        //do something else
    }
});

実例: http: //jsfiddle.net/fbCVY/

誰かが私がどこで間違っているのか指摘できますか?

4

2 に答える 2

6

検証プラグインがフィールドを見つけて区別できるように、タグごとに一意の属性idと一意の属性の両方を指定する必要があると思います。フォームの最初のフィールドが合格し、その結果が他の2つのフィールドに使用されているため、2つの「非表示」フィールドは検証に失敗していません。nameinput

于 2012-12-19T12:58:42.680 に答える
2

ルールを試してください:

$("form").validate({
    ignore: "",
    rules: {
        name: ["aa", "ee"]
    },  
    errorPlacement: function(error, element) {
        error.appendTo( $('#error-message') )
    },
    invalidHandler: function() {
        //do something 
    },
    submitHandler: function() {
        //do something else
    }
});

Jsfiddle

ご挨拶。

于 2012-12-19T13:22:30.137 に答える