引用OP:
「検証が完了する前に、1 つのリストボックスに少なくとも 1 つのエントリがあることを確認する方法が必要です。」
「リストボックス」の場合は<select multiple="multiple">
、カスタム メソッドを記述する必要はありません。required
ルールを使用します。
a を検証する際の秘訣select
は、最初<option>
に が含まれている必要があることvalue=""
です。
HTML :
<select name="currentimp" id="currentimp" multiple="multiple">
<option value="">...</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
<option value="4">option 4</option>
</select>
jQuery :
$(document).ready(function () {
$('#myform').validate({
rules: {
currentimp: {
required: true
}
}
});
});
デモ: http://jsfiddle.net/5GKbF/
引用OP:
「フォームボタンも送信ボタンに変更しましたが、submithandler に送信関数を追加しないと送信されません。これは正常ですか?」
いいえ、これは正常ではありません。
jQuery Validate プラグインは、タグtype="submit"
内に含まれている限り、任意のボタンのクリックを常にキャプチャします。<form></form>
<input type="submit" ...
との両方<button type="submit" ...
が受け入れられます。
submitHandler
コールバックは必須オプションではありません。
コールバック オプションを省略した場合submitHandler
、検証が成功すると、フォームはaction
属性内で指定された URL に送信されます。
<form action="myScript.php" ...
通常、 は、をバイパスして 経由でフォームを送信する場合、および/または他の機能を実行するsubmitHandler
場合にのみ使用されます。action
.ajax()