我有一个正在使用 Parsley.js 验证的表单,该表单之前可以正常工作,但现在不允许提交表单,尽管没有解释表单提交失败的原因(尽管我已经验证它是 Parsley防止提交)。两个问题:
(1) 我怀疑 Parsley 验证在隐藏的字段上失败或由于某种原因只是不显示其错误消息。有没有办法只在控制台中记录所有 Parsley 验证失败?
(2) 有没有一种方法可以禁用 Parsley 阻止表单提交,同时仍然保持 Parsley 提供“实时”按键验证反馈等功能?
代码:
这是一个带有欧芹验证信息的示例输入 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">
我这样初始化欧芹:
$('#new_order').parsley()
最佳答案
1) Parsley 字段结果存储在每个字段的 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')
关于javascript - 检查 Parsleyjs 引发的所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355787/