雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

.NET MVC jquery.validate errorPlacement无效

2024-10-11 25

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选项只有在表单验证失败时才会起作用。如果表单验证成功,将不会显示任何错误提示信息。

更新于:1个月前
赞一波!

文章评论

评论问答