0

我有一组以形式的广播按钮,当检查某些按钮时,显示了一些其他字段,需要添加验证。我试图通过使用自定义方法设置带有条件的验证规则来做到这一点。注意:- 一次只能检查组中的一个单选按钮(此行为在其他地方处理)

定义单选按钮以触发其他字段的显示:-

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

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

注意 :- 这些变量在脚本中的其他地方使用来执行一些显示/隐藏行为,所以我不想在其他地方重新定义。

自定义方法

$.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 ”返回真或假。不用说,这是行不通的。我想我把事情复杂化了。

附加查询:-

我还有其他规则(为清楚起见此处省略),如下所示:-

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 回答