我在输入字段验证时获取2个范围值的语法有问题。
我的表单有2个选择字段和一个文本输入字段。
If select1 = 1 and select2 = A
,我希望文字字段的范围值为1 to 120
。
If select1 = 1 and select2 = B
,我希望文字字段的范围值为121 to 500
。
我的验证码:
PrepurchasePlotNumber: {
digits: true,
required: {
depends: function() {
return ($("input[name=PlotType]:checked").val() == "Prepurchase");
}
},
range: {
param: [1, 120],
depends: function() {
return ($("#PrepurchasePlotArea").val() == "1") && ($("#PrepurchasePlotRow").val() == "A");
}
},
range: {
param: [121, 500],
depends: function() {
return ($("#PrepurchasePlotArea").val() == "1") && ($("#PrepurchasePlotRow").val() == "B");
}
}
},
数字和要求的工作正常。 我无法正确测试我的代码以测试两种范围情况。任何时候只有一个可以工作。 请有人指出我正确的方向。
答案 0 :(得分:0)
任何时候都只能使用一个。
因为您不能在同一个字段上声明两次相同的规则。第二个可能会超过第一个。
此外,您使用depends
撰写的方式,表示您只有在符合条件时才需要range
规则。
您只需使用函数return
参数,具体取决于条件。
PrepurchasePlotNumber: {
digits: true,
range: function() {
if (($("#PrepurchasePlotArea").val() == "1") && ($("#PrepurchasePlotRow").val() == "A")) {
return [1, 120]
} else {
return [121, 500]
}
},
....
根据需要修改逻辑。