リストに既に存在する場合は、入力に入力できないようにフォームを検証したいと思います。jQueryの妥当性検査でカスタムメソッドを検証する
<input id="form:inptCode" type="text" name="form:inptCode" class="number">
bellowはprimefacesのorderlist要素のhtmlです。
<select id="form:choices_values" name="form:choices_values" multiple="true" class="ui-helper-hidden">
<option value="1" selected="selected">1</option>
</select>
ので、リストは私がのinputTextに番号1を入力すると、エラーメッセージが表示されます値1が含まれています。
これを達成するために、メソッドを追加し、このメソッドがfalseを返すときにフォームの検証を試みました。 jQueryのバリデーションの経験はあまりありませんが、実際にはほんのいくつかの方法しか書いていません。
$.validator.addMethod('codExistss', function (value, element) {
var lstChoices = document.getElementById('form:choices_values');
for (i = 0; i < lstChoices.options.length; i++) {
return value === lstChoices.option[i].value;
}
}, "The code already exists.");
$(document).ready(function() {
$('#form').validate({
rules: {
'form:inptCode': {
codExistss: false
}
}
});
});
私のコードは機能しないようです。だから、理由を理解できるように助けてくれますか?あなたは、すべてのリストのオプションを超えるループを持っている
変更 "<を"。 –
ここで間違った名前を書きましたが、私のページには正しいですし、その方法は機能していません。 –
コンソールにエラーがありますか? –