Parsley.js验证没有触发

时间:2013-11-06 20:17:03

标签: javascript forms validation parsley.js

我正在使用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是否专门听取输入[type = submit]元素而不是提交表单本身? (我需要将“提交”功能设为链接,因为我想对其应用特殊样式。)

2 个答案:

答案 0 :(得分:4)

我不确定欧芹如何确定它需要验证,但您总是可以使用document.myform.parsley( 'validate' );自行触发验证,因此在您的情况下您必须这样做:

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

答案 1 :(得分:2)

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

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

请注意,这是coffeescript。 JS将是

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

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

data-parsley-required="true"