jQuery Validate插件:可以使用"取决于" tag返回一个int?

时间:2016-09-07 17:52:06

标签: jquery jquery-validate

以下是我的规则对象中的规则声明示例:

myFieldObj: {
    maxlength: {
      depends: function(element) {
        if($("#intranetApplication").is(":checked") == true) {
            return 32;
          }
        else if($("#internetApplication").is(":checked") == true) {
            return 25;
          }
       }
    }
}

基本上,我的代码是根据用户对某个问题的选择来设置myFieldObj的最大长度。但是,此代码似乎不起作用。我知道我可以使用此代码返回布尔值(例如):

myFieldObj: {
    maxlength: {
      depends: function(element) {
        if($("#intranetApplication").is(":checked") == true) {
            return TRUE;
          }
        else if($("#internetApplication").is(":checked") == true) {
            return FALSE;
          }
       }
    }
}

但这对整数也有效吗?

1 个答案:

答案 0 :(得分:1)

只需删除depends属性并将该函数用作方法的参数...

myFieldObj: {
    maxlength: function(element) {
        if ($("#intranetApplication").is(":checked")) {
            return 32;
        }
        else if ($("#internetApplication").is(":checked")) {
            return 25;
        }
    }
}

此外,由于.is()已经返回布尔值,因此无需将其与true进行比较。

DEMO:jsfiddle.net/931ach1g/