このスレッドの回答のようにフォーマットされているように見えるルールがありますが、正しく検証されません。このルールをコメントアウトすると、フォームの残りの部分で検証が適切に実行されます。私が見つけた他の構文エラーは同じ結果を引き起こしたので、ここに構文エラーがあると思いますが、それを見つけることができるかどうかはわかりません.
ルールは
freq: {
required: {
depends: {function(element){
return $('#freqBand').val().length > 0 &&
$('#freqBand').val() != "24GHz");
}
}
}
},
入力フィールドの freqBand (選択入力) の値が「24GHz」以外の場合、または何もない場合は、freq フィールドが必要であると予想しています。
私はちょうどjqueryを学んでいるので、それは本当の額のスラッパーかもしれません.
編集 11/28
さらにトラブルシューティングを行ったところ、$('#freqBand').val() が未定義であることがわかりました。
HTMLで次のように見つかります
<select name="freqBand" tabindex="6">
<option value="" label="–Choose–" >–Choose–</option>
<option value="27MHz" label="27 MHz" >27 MHz</option>
<option value="50MHz" label="50 MHz" >50 MHz</option>
<option value="75MHz" label="75 MHz" >75 MHz</option>
<option value="24GHz" label="2.4 GHz" >2.4 GHz</option>
</select>
query validate docs は、選択要素の正しい構文は次のようにする必要があると述べています
$("select.freqBand option:selected").val()
しかし、それも未定義に解決されます。この追加情報は、誰かが私を助けるのに役立ちますか?