2

我正在尝试验证具有多个条件的字段。我已经对单个条件进行了验证,但我不确定如何添加 addl 条件。这是我到目前为止所拥有的:

priceEstimate: {
          required: function() {
          return $('#jobType').val() != '8';
          }
        }

我还需要确保#jobType 的值不等于“9”或“10”。我尝试使用 or 运算符,但这似乎没有奏效。

任何帮助将不胜感激。

4

1 回答 1

3
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') 封装所有检查,它们被视为实际数字,而不仅仅是可能被翻译成会使您所追求的逻辑失败的表示。

于 2013-09-26T01:03:20.460 回答