0

フォームにラジオ ボタンのグループがあり、特定のボタンをオンにすると、いくつかの追加フィールドが表示され、検証を追加する必要があります。カスタムメソッドを使用して、条件付きの検証ルールを設定することでこれを実行しようとしています。注 :- グループのうち、一度にチェックできるラジオ ボタンは 1 つだけです (この動作は別の場所で処理されます)。

追加フィールドの表示をトリガーするラジオ ボタンを定義します。

showEmployerDetails = $("#employerType_0,#employerType_2,#employerType_8,#employerType_4,#employerType_8,#employerType_6,#employerType_5");

employerInital = showEmployerDetails.is(":checked");

NB :- これらの変数は、スクリプトの他の場所で表示/非表示の動作を実行するために使用されるため、他の場所で再定義しないようにしています。

カスタム方法

$.validator.addMethod("employdetailsreq", function(value) {
return employerInital;
}, "Please supply details");

検証規則

$("#myform_1").validate({
        rules: {
        field1: {employdetailsreq : true },
        field2: {employdetailsreq : true },
        field3: {employdetailsreq : true },
        field4: {employdetailsreq : true },
        field5: {employdetailsreq : true }
        }

                });

私の目的は、変数「employerInital」が、ラジオ ボタンのいずれかがチェックされている場合に true または false を返すことでした。言うまでもなく、これは機能していません。私は物事を複雑にしすぎていると思います。

追加のクエリ:-

次のような他のルールがあります(明確にするためにここでは省略されています):-

field__238: {required: "#vehicleuse_1:checked" },

次のようなことができますか:-

field1: {required:  "employdetailsreq : true" }

または、これはまったく同じです:-

field1: { employdetailsreq : true }
4

1 に答える 1

0

変数には値のみが含まれ、値の計算に使用されたプロパティにバインドされていないため、チェックボックスのいずれかがオンまたはオフになっても値は変更されません。現在のステータスを取得するには、チェックボックスを再チェックする必要があります。

$.validator.addMethod("employdetailsreq", function(value) {
  return showEmployerDetails.is(":checked");
}, "Please supply details");
于 2012-06-15T16:13:40.190 に答える