仅使用 parsley.js 验证提交表单

Validate form on submit only using parsley.js

我有一个简单的表格

<form action="#" method="GET" class="parsleyVal">
  <div class="input-group input-group-lg">
    <input type="email" name="email" class="form-control input-email" 
           placeholder="Enter your email"  
           data-parsley-required-message="Please enter your email address" 
           data-parsley-required title="Please enter your email address" 
           auto-complete="off" data-parsley-trigger="submit" />
    <span class="input-group-btn">
      <button class="btn btn-orange" type="submit"  data-parsley-trigger="click touch">
        Sign up
      </button>        
    </span>
  </div>
</form>

单击 sign-up 按钮时开始验证。

但是,如果没有指定电子邮件,则会显示错误:

enter your email.

当用户开始输入他们的电子邮件地址时,parsley.js 会进行自动验证并显示电子邮件必须有效。

我希望parsley.js在再次单击提交按钮时重新验证电子邮件字段,但不是即时。

我已经在输入字段上尝试了 xCodexInlinexPlacexHolderx - 没有帮助。

看来我终于明白我想要什么了。

如果有人可以推荐其他方法,这可能不是理想的方法。

$('.parsleyVal input[type=email]').on('keyup keydown', function () {
            $('.filled').removeClass('filled');
            $('.parsleyVal').parsley().destroy();
        })

脚本删除了 class 以隐藏错误消息并破坏 parsley 验证,这将在单击注册按钮时再次触发。

您可以使用两种不同的设置来控制触发验证的内容:

数据欧芹触发器
设置第一次触发验证的内容。默认值是 null 这基本上意味着提交

data-parsley-trigger-after-failure
第一次失败后触发重新验证的设置。默认值是 input 这意味着字段将在每次更改字段后重新生效。

您需要的设置是:data-parsley-trigger-after-failure

示例:

<input type="email" id="profile-email" 
                    data-parsley-required="true" 
                    data-parsley-trigger-after-failure="submit"/>