繁体   English   中英

仅使用 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按钮时开始验证。

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

输入你的电子邮箱。

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

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

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

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

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

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

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

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

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

数据-欧芹-故障后触发
设置在第一次失败后触发重新验证的内容。 默认为输入,这意味着该字段将在每次更改字段后重新验证。

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

例子:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM