javascript - 如何根据 form-validator jquery 插件中的条件更改 errorMess 值

标签 javascript jquery validation formvalidation-plugin

我正在尝试使用 jquery form validator plugin 验证表单。我想显示自定义消息,例如如果未提供电子邮件,则应显示需要的电子邮件地址,如果电子邮件值不是有效的,则应显示无效的电子邮件地址。但在这两种情况下,它都会给我相同的默认消息,例如“您没有提供正确的电子邮件地址”。我试着喜欢这个

<form action="" id="registration-form">
  <p>E-mail
    <input name="email"  id="email" data-validation="email" >
  </p>
  <p>
    <input type="submit" value="Validate">
    <input type="reset" value="Reset form">
  </p>
</form>

脚本是

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.20/jquery.form-validator.min.js"></script>
$.validate({ 
onElementValidate : function(valid, $el, $form, errorMess) {
  if ($el.attr('name') == 'email') {
    alert('Input ' +$el.attr('name')+ ' is ' + ( valid ? 'VALID':'NOT VALID') );
    var value = $('#email').val();
    if (value) {
      var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
      if (! filter.test(value)) {
          alert('invalid');
          errorMess = 'invalid email';
        }
    } else {
      alert('no mail');
      errorMess = 'no email';
    }       
  }
  alert('errorMess :: ' + errorMess);
  $('.help-block form-error').html(errorMess);
},  
borderColorOnError: '#b94a48',
errorMessagePosition : 'inline',
modules : 'location, date, security, file',
onModulesLoaded : function() {
  $('#country').suggestCountry();
}
});

最佳答案

这非常简单,在数据验证中添加多个值实际上会发挥作用。

<input name="email"  id="email" data-validation="required, email" >

关于javascript - 如何根据 form-validator jquery 插件中的条件更改 errorMess 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37718591/

相关文章:

javascript - 如何使相对 Div 可拖动?

javascript - 仅数据表初始排序

javascript - jQuery 显示删除显示属性

javascript - 如何将文本从一页重复到另一页以减少每月更新的时间

java - Spring Boot - 表单上的自定义验证注释不起作用

javascript - 切换场景时黑屏 Phaser 3

javascript - PHP 排序数组在 json_encode 后在 JS 中未排序

javascript - 使用 jquery 将 3.2242143 转换为 3.2 的简单方法

java - 如何绕过取消时的 Struts 验证

validation - Angular2 FormBuilder 验证器 : require at least one field in a group to be filled