stackoverflow でこの質問を書くと、電話と携帯電話のフィールドが空の場合、エラー メッセージが表示されますが、その後、2 つのフィールドのいずれかが入力され、フォームが再度送信されると、エラー メッセージが残ります。検証チェックは入力の古い値で行われ、ページが更新されると新しい値が取得されます。誰かがこの問題を解決するのを手伝ってくれるとありがたいです??
質問する
1232 次
2 に答える
3
1)リンクした質問に従って、オプションを使用してこのjsFiddleを構築しましたが、まだ多くの問題が見られます。ルールはまったく機能していないようで、両方のフィールドが常に必要です。depends
2)ファイルrequire_from_group
にルールが含まれていadditional-methods.js
ます。class
ルールが対象とするためには、2 つのフィールドが同じである必要があります(この場合は.group
. ただし、この方法には既知のバグがいくつかあり、フォームの他のすべてのルールが無効になります。
デモ: http://jsfiddle.net/SvSrR/
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
groups: {
name: "telephone mobile"
},
rules: {
telephone: {
require_from_group: [1, '.group']
},
mobile: {
require_from_group: [1, '.group']
}
}
});
});
3) 代わりに、カスタム ルールcustomrule
(好きな名前を付けることができます) を作成しました。groups
また、2 つのエラー メッセージを 1 つに結合するオプションも使用しました。
動作デモ: http://jsfiddle.net/2g8hL/
$(document).ready(function () {
$.validator.addMethod("customrule", function (value, element) {
return (!($("#mobile").val() === '') || !($("#telephone").val() === ''));
}, "please fill out at least one");
$('#myform').validate({ // initialize the plugin
groups: {
name: "telephone mobile"
},
rules: {
telephone: {
customrule: true
},
mobile: {
customrule: true
}
}
});
});
于 2013-03-08T17:11:31.350 に答える
0
カスタムエラー配置を試してみてください
$('#form').validate({
errorPlacement: function(error,element) {
return true;
}
});
于 2013-03-08T11:52:14.600 に答える