返回
.NET MVC jquery.validate errorPlacement无效
2023-04-11 1766 0
jQuery Validate是一款用于表单验证的插件,可以方便地对表单进行各种验证。而errorPlacement选项则用于定义错误提示信息的显示位置。
errorPlacement选项可以传入一个函数,该函数接收两个参数:错误提示信息元素(通常为一个label元素)和当前验证的表单元素。函数的返回值即为错误提示信息元素的最终位置。
当使用.NET MVC自带的表单验证时,同时会引用jquery.validate.unobtrusive.min.js。此时errorPlacement设置并不会生效,而是需要在页面中添加显示error message的标签:
<span asp-validation-for="@request.LoginId" class="text-danger"></span>
但是我们仍然可以设置默认显示错误信息的元素的class,例如这样:
$.validator.setDefaults({
highlight: function (element, errorClass, validClass) {
$(element).addClass('is-invalid');
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass('is-invalid');
}
});
下面是一个例子,将错误提示信息显示在每个表单元素后面的<span>元素中:
$("#myForm").validate({
errorPlacement: function(error, element) {
error.appendTo(element.parent().next("span"));
}
});
在这个例子中,appendTo()方法用于将错误提示信息元素添加到指定位置。
请注意,errorPlacement选项只有在表单验证失败时才会起作用。如果表单验证成功,将不会显示任何错误提示信息。
网友点评
提交