Jquery验证addMethod验证自定义方法

时间:2014-12-02 02:50:34

标签: jquery regex jquery-validate

我正在使用jquery验证,我希望添加一个输入文本不能包含“。com”的方法

我试过了:

    //.com Validator
    $.validator.addMethod('dotcom', function(value, element) {
        return this.optional(element) || (!value.match(/[.com]/) && value.match(/[.com]/));
    },
    dotcom);

但这不起作用,有什么建议吗?感谢

1 个答案:

答案 0 :(得分:1)

看起来你的正则表达式测试是错误的。尝试



var dotcom = 'Value cannot contain `.com`'
$.validator.addMethod('dotcom', function(value, element) {
  return this.optional(element) || !/\.com/.test(value);
}, dotcom);


$('form').validate({
  rules: {
    site: {
      dotcom: true
    }
  }
})

$('button').click(function() {
  $('form').valid();
  return false;
})

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script>

<form>
  <div>
    <input name="site" />
  </div>
  <button>Save</button>
</form>
&#13;
&#13;
&#13;