Asp.net mvc 如何在ValidationSummary中显示错误消息,并仅在属性级别显示*
这是财产Asp.net mvc 如何在ValidationSummary中显示错误消息,并仅在属性级别显示*,asp.net-mvc,Asp.net Mvc,这是财产 [Required(ErrorMessage = "Device Name is required")] public string DeviceName { get; set; } 我希望具有与WebForm中相同的效果,即您可以决定在ValidationSummary中显示错误消息,而只需在属性级别显示* 我尝试使用true和false来处理此问题,但错误仍显示在属性级别: @Html.ValidationSummary(false, "", new { @class = "te
[Required(ErrorMessage = "Device Name is required")]
public string DeviceName { get; set; }
我希望具有与WebForm中相同的效果,即您可以决定在ValidationSummary中显示错误消息,而只需在属性级别显示*
我尝试使用true和false来处理此问题,但错误仍显示在属性级别:
@Html.ValidationSummary(false, "", new { @class = "text-danger" })
另外,尝试在引号之间插入一个*
,但没有成功
@Html.ValidationMessageFor(model => model.DeviceName, "", new { @class = "text-danger" })
感谢您的帮助能否尝试为方法创建自定义的
验证消息。您应该确保在System.Web.Mvc.Html命名空间中声明静态帮助器类
public static class Validator
{
public static MvcHtmlString YourValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
TagBuilder span = new TagBuilder("span");
span.InnerHtml = "*"
span.AddCssClass("error-box");
return MvcHtmlString.Create(span.ToString(TagRenderMode.Normal));
}
}
// html
// displays all validation errors as a summary
@Html.ValidationSummary(false, "", new { @class = "text-danger" })
// displays "*" for all field validations underneath input
@Html.YourValidationMessageFor(model => model.DeviceName)
公共静态类验证程序
{
公共静态MvcHtmlString YourValidationMessageFor(此HtmlHelper,表达式)
{
标记生成器span=新标记生成器(“span”);
span.InnerHtml=“*”
span.AddCssClass(“错误框”);
返回MvcHtmlString.Create(span.ToString(TagRenderMode.Normal));
}
}
//html
//将所有验证错误显示为摘要
@Html.ValidationSummary(false,“,new{@class=“text danger”})
//为输入下的所有字段验证显示“*”
@Html.YourValidationMessageFor(model=>model.DeviceName)
您是否试图在摘要中而不是在inputYes下面显示所有验证错误。就像在Webforms中一样。原因是要显示的字段太多。这就是为什么,如果出现问题,越容易阅读错误信息,并立即知道该去哪里。否则,在每个字段旁边显示消息将影响布局,并强制用户查找错误的位置。您是否尝试使用自定义html方法?此帮助程序的作用是即使在未提交页面时,也在页面上显示星号。@Richard77是否尝试过?提交表单后,它应该显示错误消息加载place时,它会显示一个星号。我没有等待页面发回。我在方法中放置了一个断点。这个helper方法不支持首先检查属性是否是标记所有属性(或类似属性)的字典的一部分吗?我想如果有办法访问ModelState
字典并验证属性是否是字典的一部分,决定是否显示星号会更容易。@Richard77您可以使用if(ViewData.modelstate.IsValidField(“FIELD_NAME”))检查视图中的modelstate,然后根据此控件解析星号