如何在工具提示中显示 asp-for-validation 错误消息而不是 span

How to show asp-for-validation error message in a tooltip instead of span

ASP.NET 核心有漂亮的句柄验证方式。但是前端显示的验证样式非常老派。我遵循的方式:

带有错误消息的自定义模型注释:

    [Required(ErrorMessage = "UserName is Required")]
    [StringLength(10, ErrorMessage = "Must be between 5 and 10 characters", MinimumLength = 5)]
    [UserNameVal]
    public string UserName { get; set; }

添加用于在视图中显示消息的脚本

@section Scripts {
<partial name="_ValidationScriptsPartial" />
}

显示跨度错误消息:

<span asp-validation-for="@Model.UserName" class="text-danger"></span>

这会产生原始的旧 faishon 验证消息,如下面的屏幕截图

但我希望使用默认的 asp-for-validation

这样的验证样式

可以不在每一页都写额外的javascript吗?如果可能的话怎么办? 我已经探索了这些链接: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-3.1 http://jsfiddle.net/2DUX2/ https://www.codeproject.com/Tips/755421/Using-the-jQuery-unobtrusive-validator-with-Twitte

自定义验证的最简单方法是使用第三方验证库。因为内置功能是为一般用途而创建的,它为大多数人服务。默认样式可以用 CSS 自定义。当您想要自定义外观和感觉时,您无法通过魔法获得它。您要么必须编写自己的 CSS 样式,要么必须使用为您完成的另一个第三方库。

如果您查看默认错误消息的源代码视图,您会发现其中的 HTML 部分非常简单,您可以轻松地将自定义 CSS 和 JavaScript 在不接触 C# 或 razor 中的任何内容的情况下自定义它。

但是有时候比较费时间,none想自己写。所以他们使用第三方库来完成这项工作。例如,您可以检查此 link:https://validatejs.org/