我有一个表单我使用之前正在使用的Parsley.js验证,但现在不允许提交表单,尽管没有解释为什么表单提交失败(虽然我已经验证了它的Parsley阻止了提交。两个问题:
(1)我怀疑Parsley验证在由于某种原因隐藏或仅显示其错误消息的字段上失败。有没有办法在控制台中记录所有Parsley验证失败?
(2)有没有办法禁止Parsley阻止表单提交,同时仍然保持Parsley的功能提供" live"关于按键等的验证反馈?
代码:
这是一个带有欧芹验证信息的示例输入div,因为它正在呈现:
<input class="parsley-validated parsley-error" data-parsley-required="true" data-parsley-trigger="keyup change keypress" id="order_delivery_address" name="order[delivery_address]" placeholder="Address" type="text" value="" data-parsley-id="8942">
我像这样初始化Parsley:
$('#new_order').parsley()
答案 0 :(得分:1)
代码会有所帮助,但要详细说明第2部分,你可以这样做..
$('form').off('submit.parsleyForm');
... $('form').parsley(...)
初始化电话之后。
当您要验证表单时,请务必致电$('form').parsley('validate')
。
答案 1 :(得分:1)
1)对于每个字段,欧芹字段结果存储在validationResult
中。字段存储在fields
。
var failingFields = [],
parsleyForm = $('#new_order').parsley();
for (var i = 0; i < parsleyForm.fields.length; i++)
if (true !== parsleyForm.fields[i].validationResult && parsleyForm.fields[i].validationResult.length)
failingFields.push(parsleyForm.fields[i].$element);
2)为防止Parsley阻止表单提交,您必须$('#new_order).off('submit.Parsley')