基于选择值的jQuery验证规则

时间:2018-07-31 14:49:27

标签: jquery html forms validation html-select

我有以下表格。

<form id="myform">
    <select id="country" name="country">
        <option value="US">United States</option>
        <option value="CA">Canada</option>
        <option value="AU">Australia</option>
        <option value="NZ">New Zealand</option>
        <option value="IE">Ireland</option>
    </select>
    <input type="text" name="zip_code" id="zip-code">
    <input type="submit">
</form>

当所选国家为zip_code时,我希望digits: true字段包含United States规则。这是我根据this code.

尝试过的
$("#myform").validate({
    rules:{
        zip_code: {
            required: true,
            maxlength: 10,
            digits: function(element){
                return $("#country").val() == 'US';
            }
        }
    }
});

编辑:我错了,这确实启用了digits验证,但是当我更改国家/地区时,digits规则不会变为错误

1 个答案:

答案 0 :(得分:1)

在这里,我注意到您做错了几件事,您提供了变量而不是id,

   $("#myform").validate({
          rules:{
              zip_code: {
                  required: true,
                  maxlength: function() {
                    if($("#country").val() == 'US'){
                      return 5;
                    }else {
                      return 10;
                    }
                  },
                  digits: {
                  depends: function(element) {
                      return $("#country").val() == 'US';
                    }
                  }
              }
          }
      });