フォームにラジオ ボタンのグループがあり、特定のボタンをオンにすると、いくつかの追加フィールドが表示され、検証を追加する必要があります。カスタムメソッドを使用して、条件付きの検証ルールを設定することでこれを実行しようとしています。注 :- グループのうち、一度にチェックできるラジオ ボタンは 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 }