检查Parsleyjs提出的所有错误

时间:2014-03-12 15:12:29

标签: javascript forms validation parsley.js

我有一个表单我使用之前正在使用的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()

2 个答案:

答案 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')