【发布时间】:2021-09-06 05:49:23
【问题描述】:
在使用 MVC 数据注释时是否可以更改何时客户端验证?目前,所有验证似乎都发生在keyup,但我需要它发生在onchange 或losefocus。
ViewModel:
[Display(Name = "First Name")]
[Required(ErrorMessage = "First Name is Required")]
public string FirstName { get; set; }
cshtml
@Html.TextBoxFor(m => m.FirstName, new { placeholder = Html.DisplayNameFor(n => n.FirstName) })
@Html.ValidationMessageFor(m => m.FirstName)
渲染的 HTML
<div class="field">
<input data-val="true"
data-val-required="First Name is Required"
id="FirstName"
name="FirstName"
placeholder="First Name"
type="text"
value="">
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
</div>
这可以正常工作,但是当我输入输入时,会在我输入时进行验证。在我单击或关闭输入后如何进行验证?
版本
- .NET 4.6.1
- Microsoft.Aspnet.Mvc 5.2.3
- Microsoft.jQuery.Unobtrusive.Validation 3.2.3
【问题讨论】:
-
您使用的是哪个版本?首先是 Microsoft 不显眼的验证 works on
blur。 -
你的意思是.NET版本吗?它是 .NET 4.6.1。
-
不,MVC 版本 - 那时必须是 5。尝试更新您的 nuget 包以进行 MVC 和不引人注目的验证。
-
@GSerg 我用版本更新了帖子。 Visual Studio 将这些版本报告为最新的稳定版本。
-
在不同的浏览器中会发生这种情况吗?
标签: c# asp.net-mvc validation