我遇到的语法惹上麻烦的输入字段校验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");
}
}
},
数字和要求做工精细。我不能让我的代码的权利,以测试这两个范围的场景。只有一个会在任何一个时间工作。请能有人指出我在正确的方向。
只有一个会在任何一个时间工作。
因为你不能有相同的字段声明了两次相同的规则。第二个可能会过乘坐第一。
此外,你使用depends
书面的方式,你说你只想要range
规则时满足条件。
你只需要使用一个函数来return
,取决于条件的参数。
PrepurchasePlotNumber: {
digits: true,
range: function() {
if (($("#PrepurchasePlotArea").val() == "1") && ($("#PrepurchasePlotRow").val() == "A")) {
return [1, 120]
} else {
return [121, 500]
}
},
....
根据需要修改逻辑。