私は独自のパースリーバリデータを持っています。ユニークなエラーを修正すると、私が変更しなかったフィールドはエラーが残っていることを除いて、すべてがうまく動作します。これはもちろん、manageFailingFieldTriggerが変更されたフィールドに対してのみonchangeを追加するためです。私はmanageFailingFieldTriggerに、フィールドを変更する代わりにグループを検証して問題を解決する方法を理解できればと思いますが、その方法を理解することはできません。パーズリーjsの従属フィールドエラーをクリアします
window.Parsley.addValidator('unique', function (value, requirement) {
console.debug("Validating: " + value + "\nrequirement: " + requirement);
console.debug($(requirement + '[value="' + value + '"]'));
var matches = 0;
$(requirement).each(function(i, val) {
if ($(this).val() == value) {
matches++;
}
});
if(matches > 1) return false;
return true;
})
.addMessage('en', 'unique', 'This value must be unique');
HTML(多くの余分なものを削除):
<form id="upload_form" method="POST" action="/school/student/upload_finish" data-parsley-validate>
<input type="text" name="data-0-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
<input type="text" name="data-1-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
<input type="text" name="data-2-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
<input type="text" name="data-3-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
<input type="text" name="data-4-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
<input type="text" name="data-5-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
<input type="text" name="data-6-1" class="column-1" value="[email protected]" data-parsley-group="column-1" data-parsley-unique=".column-1"/>
</form>
あなたは私の提案の答えを見て、あなたはそれですべての問題を見たら見て気にしませんか? –