【发布时间】:2014-04-20 19:05:47
【问题描述】:
当我尝试通过 input[type=submit] 或调用 form.submit() 提交表单时,Parsley 会验证表单并在无效时取消提交。有什么办法可以跳过验证,因为我在表单的各个部分手动调用验证?
具体来说,我想要实现的是提交表单的部分版本,因此我验证了一个组,并且只有该部分被发送到服务器(即使表单的其余部分仍然无效)。
【问题讨论】:
标签: javascript parsley.js
当我尝试通过 input[type=submit] 或调用 form.submit() 提交表单时,Parsley 会验证表单并在无效时取消提交。有什么办法可以跳过验证,因为我在表单的各个部分手动调用验证?
具体来说,我想要实现的是提交表单的部分版本,因此我验证了一个组,并且只有该部分被发送到服务器(即使表单的其余部分仍然无效)。
【问题讨论】:
标签: javascript parsley.js
如果您想取消 Parsley 提交事件的默认验证,您必须删除表单上的 submit.Parsley 绑定事件。
$('#yourform').off('submit.Parsley'); 应该可以解决您的问题。
最好的
编辑:对于 Parsley2,由于事件名称已更改,因此应为 $('#yourform').off('form:validate');
【讨论】:
$('#yourform').off('form:validate'); 不起作用。
如果你想跳过单个元素,只需使用:
data-parsley-excluded
Parsley 不会验证的表单字段。例如,如果您 要将禁用和隐藏字段添加到现有列表,请使用: data-parsley-excluded="input[type=button], input[type=submit], 输入[type=reset], input[type=hidden], [disabled], :hidden"
但如果您想验证特定的分组,请使用:
data-parsley-group
将组分配给特定组验证的字段。例如: 数据欧芹组=“注册”。这样,您只能验证一个 表单的一部分,而不是所有字段。
来源:
【讨论】:
在 JS 中运行提交时,您可以这样做:
$('#yourform').parsley().destroy();
所以在代码中使用 jQuery,它可能看起来像这样:
var $myForm = $('#yourform');
$("#submit-button").on('click',function(e){
e.preventDefault();
$myForm.parsley().destroy();
$myForm.submit();
});
【讨论】: