微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC – 将XHTML添加到验证错误消息中

刚刚开始使用ASP.Net MVC并且在验证消息方面遇到了一些障碍.
我有一个分配给我的类的自定义验证属性验证我的模型上的几个属性.

当此验证失败时,我们希望错误消息包含XHTML标记,包括指向帮助页面链接(这是在原始WebForms项目中作为ASP:Panel完成的).

目前,ErrorMessage中的XHTML标记(例如“< a>”)正在呈现给屏幕.有没有办法让ValidationSummary正确呈现XHTML标记?或者有更好的方法来处理这种验证吗?

谢谢

解决方法

这是一个使用 HtmlDecode()来反转编码的短期修复.适合我.

(无法重建整个验证对象模型.)

public static class ValidationExtensions
{
  public static MvcHtmlString ValidationMessageHtmlFor<TModel,TProperty>(
    this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel,TProperty>> expression)
  {
    return new MvcHtmlString(
      HttpUtility.HtmlDecode(
        htmlHelper.ValidationMessageFor<TModel,TProperty>(
        expression,null,((IDictionary<string,object>)new RouteValueDictionary()))
        .ToHtmlString()));
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐