Asp.net mvc 与x27之间的差异;Html.Validate';和';Html.ValidateFor';

Asp.net mvc 与x27之间的差异;Html.Validate';和';Html.ValidateFor';,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,为什么在验证中使用.Validate和.Validatefor 我正在使用它,但在UI中没有收到任何错误消息 代码 @{Html.BeginForm();} @TextBoxFor(x=>x.LastName,新的{id=“txtLastName”}) @{Html.Validate(“LastName”);} @{Html.ValidateFor(x=>x.LastName);} @{Html.EndForm();} 这种行为是故意的。这两个助手只是为客户端验证注册相应的参数,如果验证失败,

为什么在验证中使用
.Validate
.Validatefor

我正在使用它,但在UI中没有收到任何错误消息

代码

@{Html.BeginForm();}
@TextBoxFor(x=>x.LastName,新的{id=“txtLastName”})
@{Html.Validate(“LastName”);}
@{Html.ValidateFor(x=>x.LastName);}
@{Html.EndForm();}

这种行为是故意的。这两个助手只是为客户端验证注册相应的参数,如果验证失败,实际上不会显示任何消息。但是,此消息仍可以显示在
验证摘要中

如果要显示特定于字段/参数的消息,应改用
ValidationMessage
ValidationMessageFor

@Html.ValidationMessage("LastName")
@Html.ValidationMessageFor(x=>x.LastName)

如果在某些情况下,您实际上不希望每个字段都显示验证消息(即使用Html.ValidationMessage),而是希望允许摘要成为验证错误消息的唯一来源(即使用Html.ValidationSummary),那么您仍然需要某种方式“触发”要对特定字段执行的验证。这可以通过在视图中使用Html.Validate/Html.ValidateFor方法来实现。这些助手不会呈现任何内容,只会注册指定字段以进行客户端验证


请参阅此帖子以获取答案

@PKKG请参阅我的新帖子未使用验证和验证,属性中的错误消息将显示在ValidationSummary中。我的问题是,在什么情况下我们使用验证和validatefor@user2688364,当您希望触发字段的客户端验证,但不希望显示任何验证消息时,应使用它们。请分享有关如何使用警报在客户端上显示错误消息的一些想法side@user2688364,这是
@Html.ValidationMessage("LastName")
@Html.ValidationMessageFor(x=>x.LastName)