如何为 asp.net mvc ValidationMessageFor 创建可重用的解决方案
How to create a reusable solution for asp.net mvc ValidationMessageFor
我目前得到以下片段:
@Html.EditorFor(model => model.Street, new { htmlAttributes = new { @class = "form-control tooltp", placeholder = "Rue *", autofocus = "autofocus", data_tooltip_content = "#Street_content" } })
@if (ViewData.ModelState["Street"] != null && ViewData.ModelState["Street"].Errors.Any())
{
<div class="tooltip_templates">
<div id="street_content">
@Html.ValidationMessageFor(model => model.Street)
</div>
</div>
}
我怎样才能使它可以重复使用?创建一个 MVC 助手?局部视图?不可能吧?
我想要这种解决方案,以便我可以将它用于我所有的不同领域。我正在为工具提示消息使用 tooltipster。如果没有 if 语句,工具提示将包含一个空字符串(但仍会显示)。
我想要一个解决方案,例如我可以这样做
@ErrorHelper.ShowError("Street")
我有自己的验证消息助手来自动添加 bootstrap class 样式
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string tag)
{
return htmlHelper.ValidationMessage(tag, new { @class = "text-danger" });
}
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
return htmlHelper.ValidationMessageFor(expression, "", new { @class = "text-danger" });
}
并像 @Html.MyValidationMessageFor(x => x.Street)
一样使用
您可以轻松地调整它以检查元数据是否为空,如果是,则return什么也不做。
我目前得到以下片段:
@Html.EditorFor(model => model.Street, new { htmlAttributes = new { @class = "form-control tooltp", placeholder = "Rue *", autofocus = "autofocus", data_tooltip_content = "#Street_content" } })
@if (ViewData.ModelState["Street"] != null && ViewData.ModelState["Street"].Errors.Any())
{
<div class="tooltip_templates">
<div id="street_content">
@Html.ValidationMessageFor(model => model.Street)
</div>
</div>
}
我怎样才能使它可以重复使用?创建一个 MVC 助手?局部视图?不可能吧?
我想要这种解决方案,以便我可以将它用于我所有的不同领域。我正在为工具提示消息使用 tooltipster。如果没有 if 语句,工具提示将包含一个空字符串(但仍会显示)。
我想要一个解决方案,例如我可以这样做
@ErrorHelper.ShowError("Street")
我有自己的验证消息助手来自动添加 bootstrap class 样式
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string tag)
{
return htmlHelper.ValidationMessage(tag, new { @class = "text-danger" });
}
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
return htmlHelper.ValidationMessageFor(expression, "", new { @class = "text-danger" });
}
并像 @Html.MyValidationMessageFor(x => x.Street)
您可以轻松地调整它以检查元数据是否为空,如果是,则return什么也不做。