当我尝试提交表单时,无论是通过input[type=submit]还是通过调用form.submit(),Parsley都会验证表单,如果无效则取消提交。有没有什么方法可以跳过验证,因为我是在表单的各个部分手动调用validate的?具体地说,我试图实现的是提交表单的部分版本,因此我验证了一个组,并且只将该部分发送到服务器(即使表单的其余部分仍然无效)。
mepcadol1#
如果要取消提交事件上的Parsley默认验证,则必须删除表单上的submit.Parsley绑定事件。做一个$('#yourform').off('submit.Parsley');应该可以解决你的问题。最佳编辑:对于Parsley2,由于事件名称已更改,因此应为$('#yourform').off('form:validate');
submit.Parsley
$('#yourform').off('submit.Parsley');
$('#yourform').off('form:validate');
plicqrtu2#
如果要跳过单个元素,只需用途:
data-parsley-excluded
Parsley不会验证的表单域。例如,如果要将禁用和隐藏的域添加到现有列表中,请用途:data-parsley-excluded=“输入[类型=按钮],输入[类型=提交],输入[类型=重置],输入[类型=隐藏],[禁用],:隐藏”但如果要验证特定组,请用途:
data-parsley-group
将组分配给字段以进行特定组验证。例如:data-parsley-group=“signup”。这样,您只能验证表单的一部分,而不是所有字段。资料来源:http://parsleyjs.org/doc/index.html#psly-usage-form
zf9nrax13#
在JS中运行提交时,您可以执行以下操作:$('#yourform').parsley().destroy();因此,使用代码中的jQuery,它可能如下所示:
$('#yourform').parsley().destroy();
var $myForm = $('#yourform'); $("#submit-button").on('click',function(e){ e.preventDefault(); $myForm.parsley().destroy(); $myForm.submit(); });
p8h8hvxi4#
正如我在这里所回答的,将formnovalidate添加到按钮似乎可以https://stackoverflow.com/a/74746624/1148163工作
formnovalidate
4条答案
按热度按时间mepcadol1#
如果要取消提交事件上的Parsley默认验证,则必须删除表单上的
submit.Parsley
绑定事件。做一个
$('#yourform').off('submit.Parsley');
应该可以解决你的问题。最佳
编辑:对于Parsley2,由于事件名称已更改,因此应为
$('#yourform').off('form:validate');
plicqrtu2#
如果要跳过单个元素,只需用途:
Parsley不会验证的表单域。例如,如果要将禁用和隐藏的域添加到现有列表中,请用途:data-parsley-excluded=“输入[类型=按钮],输入[类型=提交],输入[类型=重置],输入[类型=隐藏],[禁用],:隐藏”
但如果要验证特定组,请用途:
将组分配给字段以进行特定组验证。例如:data-parsley-group=“signup”。这样,您只能验证表单的一部分,而不是所有字段。
资料来源:
http://parsleyjs.org/doc/index.html#psly-usage-form
zf9nrax13#
在JS中运行提交时,您可以执行以下操作:
$('#yourform').parsley().destroy();
因此,使用代码中的jQuery,它可能如下所示:
p8h8hvxi4#
正如我在这里所回答的,将
formnovalidate
添加到按钮似乎可以https://stackoverflow.com/a/74746624/1148163工作