Parsley.js在提交时跳过验证?

时间:2014-04-20 19:05:48

标签: javascript parsley.js

当我尝试通过输入[type = submit]或通过调用form.submit()提交表单时,Parsley会验证表单并在无效时取消提交。有没有办法可以跳过验证,因为我在表单的各个部分手动调用了验证?

具体而言,我试图实现的是提交表单的部分版本,因此我验证了一个组,只有该部分被发送到服务器(即使表单的其余部分仍无效)。 / p>

3 个答案:

答案 0 :(得分:7)

我想取消提交活动的Parsley默认验证,您必须删除表单上的submit.Parsley绑定事件。

执行$('#yourform').off('submit.Parsley');可以解决您的问题。

最佳

编辑:对于Parsley2,由于事件名称已更改,因此应为$('#yourform').off('form:validate');

答案 1 :(得分:1)

如果你想跳过单个元素,只需使用:

data-parsley-excluded
  

Parsley无法验证的表单字段。例如,如果你   想要将禁用和隐藏字段添加到现有列表,请使用:   data-parsley-excluded =“input [type = button],输入[type = submit],   输入[type = reset],输入[type = hidden],[disabled],:hidden“

但如果您想验证特定的分组,请使用:

data-parsley-group
  

将一个组分配到字段以进行特定的组验证。例如:   数据香菜组=“注册”。这样,你只能验证一个   表格的一部分而不是所有的字段。

来源:

http://parsleyjs.org/doc/index.html#psly-usage-form

答案 2 :(得分:0)

在 JS 中运行提交时,您可以:

$('#yourform').parsley().destroy();

所以在代码中使用 jQuery,它可能看起来像这样:

var $myForm = $('#yourform');

$("#submit-button").on('click',function(e){
  e.preventDefault();
  
  $myForm.parsley().destroy();
  $myForm.submit();
});