【问题标题】:Parsley.js validation not triggeringParsley.js 验证未触发
【发布时间】:2013-11-06 20:17:03
【问题描述】:

我正在使用 Parsley.js 来验证我的表单。我告诉 Parsley 通过添加...来监控表单

<form data-validate="parsley" name="myform"> 

我的元素看起来像:

<input type="text" name="username" data-required="true"/>

如果您忽略必填字段并尝试使用此按钮提交表单...

<input type="submit" value="Submit"/> 

Parsley 显示错误并且不允许提交表单。但是,如果您改用以下提交方法...

<a href="#" onClick="document.myform.submit();"> Submit </a> 

Parlsey 只是忽略错误并提交表单。到底是怎么回事? Parsley 是否专门监听 input[type=submit] 元素而不是表单本身的提交? (我需要将“提交”功能设为链接,因为我想对其应用特殊样式。)

【问题讨论】:

    标签: javascript forms validation parsley.js


    【解决方案1】:

    我不确定 parsley 如何计算它需要验证,但您始终可以使用 document.myform.parsley( 'validate' ); 自己触发验证,所以在您的情况下,您必须这样做:

    if (document.myform.parsley( 'validate' ))  
         {document.myform.submit();}
    

    【讨论】:

      【解决方案2】:

      我希望 Parsley 有一个自动提交处理程序,但在我从源代码中找到之前,你可以这样做:

      $('form#my-form').on "submit", (e)->
        $(this).parsley().validate()
      

      请注意,这是咖啡脚本。 JS 会是

      $('form#my-form').on("submit", function(e) {
        return $(this).parsley().validate();
      });
      

      当然,您的所有输入都必须设置数据属性,例如:

      data-parsley-required="true"
      

      【讨论】:

        猜你喜欢
        • 2017-08-25
        • 1970-01-01
        • 1970-01-01
        • 2014-05-11
        • 2011-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多