在jquery验证器中将默认html错误消息添加到自定义验证的更好方法

时间:2017-09-14 07:19:10

标签: javascript jquery jquery-validate

我一直在尝试将html错误消息添加到密码字段,如下所示:



$.validator.addMethod('passwordformattester', function(value, element) {
  return this.optional(element) || /^(?=^.{8,15}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[\~\!\@\#\$\^\&\*\_\-\+\=\`\|\\\(\)\{\}\[\]\:\;\'\<\>\,\.\?\/?])(?=.*[a-z])|(?=.*[\~\!\@\#\$\^\&\*\_\-\+\=\`\|\\\(\)\{\}\[\]\:\;\'\<\>\,\.\?\/?])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[\~\!\@\#\$\^\&\*\_\-\+\=\`\|\\\(\)\{\}\[\]\:\;\'\<\>\,\.\?\/?]))^.*$/.test(value);
},'<ul><li>Password format invalid</li><li>Password format invalid</li><li>Password format invalid</li><ul>');

$("#example").validate({
  ignoreTitle: true,
  errorElement:'div',
  highlight: function(element) {
    $(element).parent().addClass('field-error');
  },
  unhighlight: function(element) {
    $(element).parent().removeClass('field-error');
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.min.js"></script>

<form id="example">
  <input type="password" placeholder="Password" data-rule-passwordformattester="true"/>
  <input type="button" value="submit"/>
</form>
&#13;
&#13;
&#13;

有更好的方法吗?

0 个答案:

没有答案