我正在尝试验证具有多个条件的字段。我已经对单个条件进行了验证,但我不确定如何添加 addl 条件。这是我到目前为止所拥有的:
priceEstimate: {
required: function() {
return $('#jobType').val() != '8';
}
}
我还需要确保#jobType 的值不等于“9”或“10”。我尝试使用 or 运算符,但这似乎没有奏效。
任何帮助将不胜感激。
我正在尝试验证具有多个条件的字段。我已经对单个条件进行了验证,但我不确定如何添加 addl 条件。这是我到目前为止所拥有的:
priceEstimate: {
required: function() {
return $('#jobType').val() != '8';
}
}
我还需要确保#jobType 的值不等于“9”或“10”。我尝试使用 or 运算符,但这似乎没有奏效。
任何帮助将不胜感激。
priceEstimate: {
required: function() {
var jobType = $('#jobType').val();
if (jobType < '8' && jobType > 10)
{
return true;
}else{
return false;
}
}
}
可能有更简单的方法来编写它......但这会做你。http://www.w3schools.com/js/js_comparisons.asp
回应杰里米的评论:
priceEstimate: {
required: function ()
{
var jobType = Number($('#jobType').val());
var _return = true;
switch (true)
{
case (jobType <= 1):
case (jobType >= 8 && jobType <= 10):
_return = false;
break;
}
return _return;
}
}
好的,我们在这里做的是级联开关。表达式设置为 true,因此它将运行每个案例......然后我们将我们的逻辑放在每个案例中。
我们知道我们不想要 1 或 0,所以如果它等于 1 或更低,我只是将其设置为 false,在这种情况下没有中断,它将简单地运行到下一个案例并进一步验证,因此,为了您自己的理智,您将要尝试将案件保持在最低限度->如果没有的话最好,大声笑。
此外,我使用 Number() 来充实输入中的数值,以防万一,这样我们也不必用引号 ('10') 封装所有检查,它们被视为实际数字,而不仅仅是可能被翻译成会使您所追求的逻辑失败的表示。