[英]ASP.NET MVC3 Custom Validation Message Display
ASP.NET MVC3中有一種方法可以自定義Html.ValidationMessageFor(...)方法的結果嗎? 例如,在錯誤文本旁邊添加圖像或類似...但我希望能夠更改圖像,無論驗證是否成功......
您可以看到錯誤包含在Css類中,您需要做的就是根據自己的意願使用該Css類。
默認MVC3包含在styles.css
/* Styles for validation helpers
-----------------------------------------------------------*/
.field-validation-error
{
color: #ff0000;
}
.field-validation-valid
{
display: none;
}
.input-validation-error
{
border: 1px solid #ff0000;
background-color: #ffeeee;
}
.validation-summary-errors
{
font-weight: bold;
color: #ff0000;
}
.validation-summary-valid
{
display: none;
}
只需在那里添加你的圖像。
Yup U可以編寫你自己的擴展來這樣做
public static MvcHtmlString ValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
TagBuilder div = new TagBuilder("div");
div.AddCssClass("aside");
string modelName = ExpressionHelper.GetExpressionText(expression);
ModelState state = htmlHelper.ViewData.ModelState[modelName];
if (state != null)
if ((state.Errors != null) && (state.Errors.Count > 0))
div.AddCssClass("invalid");
else
div.AddCssClass("valid");
div.InnerHtml = htmlHelper.ValidationMessageFor(expression).ToString();
return MvcHtmlString.Create(div.ToString());
}
然后使用這樣的東西
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
最后,你需要為無效和旁邊的類定義ur css來定制錯誤的外觀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.