私はポップアップで表示される2つのフォームを持っています。編集用に(ajaxによってロードされる)、作成用に1つです。検証のために1ページに2つのフォームを処理する方法は?
フィールドの編集と提出の両方でヒントを表示するには、jqueryの検証を使用します。
検証の中には、重複してはならない時間範囲が含まれているものがあります。
これは作成時に機能しますが、作成ルールが優先されるため、編集用に作成する新しいルールがトリガーされません。
名前やIDで作成したルールが何らかの理由でアクティブにならないため、クラスルールを追加しました。おそらくjqueryのプラグインの検証方法が混乱している可能性があります。これらのルールはコードスニペットでコメントアウトされています。
var classRules = {};
classRules['thresholdStartTime'] = {};
classRules['thresholdStartTime'][globalThresholdCheckName] = $form
classRules['thresholdEndTime'] = {};
classRules['thresholdEndTime'][globalThresholdCheckName] = $form
/*
*
for(var q = 0; q<20; ++q) {
validationrules['thresholdStartTime' + q] = {};
validationrules['thresholdStartTime' + q]['required'] = true;
validationrules['thresholdStartTime' + q][globalThresholdCheckName] = $form
validationrules['thresholdEndTime' + q] = {};
validationrules['thresholdEndTime' + q]['required'] = true;
validationrules['thresholdEndTime' + q][globalThresholdCheckName] = $form
}
*/
for(var cls in classRules) {
var rule = classRules[cls];
$.validator.addClassRules(cls, rule);
}
//return validationrules as rm.rules here
//in the caller, get validationrules from result
var editForm = $('#editForm')
.validate(
{
rules : rm.rules,
classRules: rm.classRules,
messages : rm.messages,
success : $.noop
});
感謝のために皆を手伝い。それは、検証が最初に設定されているため、同じフォームの2番目の検証コマンドを無視しているようです。 – Adder