parsley.js 捕获所有错误并通过 javascript alert() 输出
parsley.js catching all errors and outputting via a javascript alert()
我想在单个事件中使用 pasley v2.8 捕获表单上的所有错误,然后通过标准 javascript 警报显示这些错误。
由于在此 SO question about the fieldinstance functionality 中的帮助,我之前已经完成了部分工作。但是,另一个问题中的代码与一个函数一起工作,因为每个表单元素都失败了。
我想要的是一个在整理完所有错误后只触发一次的事件。我相信这是通过最近的 form:error 事件完成的。由于 getErrorsMessages() 似乎不起作用,我编写的代码无法正常工作。到目前为止我所拥有的是...
$('#form').parsley().on('form:error', function (formInstance) {
var errorMsg = ParsleyUI.getErrorsMessages(formInstance);
alert(errorMsg);
});
使用 formInstance
遍历每个字段并检索错误消息。像这样
<form class="demo-form">
<input type="text" name="field1" required />
<input type="text" name="field2" required />
<input type="submit" />
</form>
<script>
$(function () {
$('.demo-form').parsley().on('form:error', function (formInstance) {
var errors = [];
// You have access to each field instance with `formInstance.fields`
for (var idx in formInstance.fields) {
errors.push((formInstance.fields[idx].getErrorsMessages()));
// Use $element to access the jQuery element of each field
console.log(formInstance.fields[idx].$element);
}
alert(errors);
});
});
</script>
如果您想删除由 Parsley 自动显示的每个字段旁边的消息,您可以将以下属性添加到您的表单中:data-parsley-errors-messages-disabled
。参见 this answer。
我想在单个事件中使用 pasley v2.8 捕获表单上的所有错误,然后通过标准 javascript 警报显示这些错误。
由于在此 SO question about the fieldinstance functionality 中的帮助,我之前已经完成了部分工作。但是,另一个问题中的代码与一个函数一起工作,因为每个表单元素都失败了。
我想要的是一个在整理完所有错误后只触发一次的事件。我相信这是通过最近的 form:error 事件完成的。由于 getErrorsMessages() 似乎不起作用,我编写的代码无法正常工作。到目前为止我所拥有的是...
$('#form').parsley().on('form:error', function (formInstance) {
var errorMsg = ParsleyUI.getErrorsMessages(formInstance);
alert(errorMsg);
});
使用 formInstance
遍历每个字段并检索错误消息。像这样
<form class="demo-form">
<input type="text" name="field1" required />
<input type="text" name="field2" required />
<input type="submit" />
</form>
<script>
$(function () {
$('.demo-form').parsley().on('form:error', function (formInstance) {
var errors = [];
// You have access to each field instance with `formInstance.fields`
for (var idx in formInstance.fields) {
errors.push((formInstance.fields[idx].getErrorsMessages()));
// Use $element to access the jQuery element of each field
console.log(formInstance.fields[idx].$element);
}
alert(errors);
});
});
</script>
如果您想删除由 Parsley 自动显示的每个字段旁边的消息,您可以将以下属性添加到您的表单中:data-parsley-errors-messages-disabled
。参见 this answer。