0

次のコードを使用して、配列で指定された一連のコントロールに検証ルールを追加しようとしています。

    for(i=0; i<data.length; i++){
    var fieldname = data[i].field_id;
    alert(fieldname);

    $("#EditView").validate({
        rules:{
            fieldname:{
                maxlength:60
            },
            messages: {
                fieldname: ""
            }
        }
    });
}

上記のコードはコントロールにルールを追加しませんが、以下のコードを使用すると、手動で 1 つのコントロールのみに設定されます。

   $("#EditView").validate({
            rules:{
                street_1_c:{
                    maxlength:60
                },
                messages: {
                    street_1_c: ""
                }
            }
        });

なぜこれが起こるのですか?

4

1 に答える 1

0

あなたはこれを行うことができますか?

var vObj = {};
vObj.rules = {};
vObj.rules.messages = {};

for(i=0; i<data.length; i++) {
  var fieldname = data[i].field_id;
  vObj.rules[fieldname] = { maxlength: 60 };
  vObj.rules.messages[fieldname] = '';
}

$("#EditView").validate(vObj);
于 2013-09-16T09:22:00.203 に答える