我现在正在使用ASP.NET MVC 3进行不引人注目的jquery客户端验证。
默认情况下,ValidationMessageFor会生成包含某些类和属性集的span标记。我希望它生成一个不同的模板。例如,我可能想要一个带有特定背景图像的div标签。
这是否可行,或者我可以从那里获取纯文本错误消息,以便我可以自己设置样式?
由于
答案 0 :(得分:0)
在MVC 2中,span
是硬编码的。无法使用div
代替ValidationMessageFor
。
您可以获得类似于内置帮助程序的消息:
if (modelError != null) {
builder.SetInnerText(GetUserErrorMessageOrDefault(htmlHelper.ViewContext.HttpContext, modelError, modelState));
}
private static string GetUserErrorMessageOrDefault(HttpContextBase httpContext, ModelError error, ModelState modelState) {
if (!String.IsNullOrEmpty(error.ErrorMessage)) {
return error.ErrorMessage;
}
if (modelState == null) {
return null;
}
string attemptedValue = (modelState.Value != null) ? modelState.Value.AttemptedValue : null;
return String.Format(CultureInfo.CurrentCulture, GetInvalidPropertyValueResource(httpContext), attemptedValue);
}