2 つの入力フィールドをグループ化して、無効な入力フィールドの数に関係なく 1 つのエラー メッセージのみを表示するようにしました。
両方を空のままにしてフォームを送信しようとすると、問題が発生します。どちらか一方に何かを入力するとすぐに、エラー メッセージが消えます。空の入力フィールドを選択して選択解除すると、再び表示されます。
私が望むのは、1 つ以上の入力フィールドが無効である限り、エラー メッセージが表示されるようにすることです。また、2 つの空の入力フィールドのいずれかが入力されたときにエラー メッセージが消えないようにします。
これが私のコードです:
HTML
<form>
<div>
<label for="fname">First Name</label>
<input name="fname" id="fname" class="required">
</div>
<div>
<label for="lname">Last Name</label>
<input name="lname" id="lname" class="required">
</div>
<input type="submit" />
</form>
Javascript
$("form").validate({
groups: {
name: 'fname lname'
},
errorPlacement: function (error, element) {
if (element.attr('name') == 'fname' || element.attr('name') == 'lname')
error.insertAfter('#lname');
}
});
そしてJSFiddle。
ありがとう!