jquery のバリデーターを使用して検証するフォームがあります。ベンダーを登録コードに入力した場合は、ドロップダウン メニューからベンダーを選択する必要があります。ただし、ベンダーの場合のみ、college と入力すると、ドロップダウン メニューから大学を選択する必要はありません。html部分は次のとおりです。
<form id="everything" method="post">
First Name:<input type="text" name="fname" id="fname"/>
Last Name:<input type="text" name="lname" id="lname"/>
<select name="type" id="type">
<option value="">None</option>
<option value="Early College">Early College</option>
<option value="Public School">Public School</option>
<option value="Vendor">Vendor</option>
<option value="other">Other</option>
</select>
Registration Code: <input type="text" name="regcode" id="regcode"/>
</form>
そして、ここにjqueryがあります:
jQuery.validator.addMethod("registration_check", function(value, element) {
if ($('#regis_code').val() == "Vendor") {
return ($('#regis_code').val() == $('#iitype').val());
}
}, jQuery.format("You entered Vendor as the registration code, please select vendor from the Institutional Information Type drop down menu."));
var val = $('#everything').validate({
rules: {
fname: { required: true},
lname: { required: true},
regis_code: {
required: true,
registration_check: true,
}
},
messages: {
regis_code: {
required: "Please enter a registration code"
}
}
});
ベンダーを入力して、ドロップダウン メニューからベンダーを選択しないと、泣き言が表示されますが、これは良いことです。問題は、ベンダーと入力して dd メニューから選択し、姓名 (入力する必要がある) が何もない場合、名前の検証に失敗し、先に進むことです。誰が問題が何であるか知っていますか?
編集: これは問題の実例です: BIN . 問題を再現するには、ベンダーを登録コード テキスト ボックスに入力し、ドロップダウンからベンダーを選択して [送信] をクリックします。これは、他の 2 つのテキスト ボックスの検証に失敗する方法を示しています。