ValidationMessage的模板

时间:2011-05-06 08:34:52

标签: model-view-controller asp.net-mvc-3

MVC现在包含许多你可以使用模板提供的东西,你可以根据任何规则覆盖任何模型的字段的UI表示,它很棒。但是为什么我不能对验证消息做同样的事情,我想它会给开发人员更多的灵活性和便利性。我知道我可以使用覆盖扩展方法,如下所示:

public static MvcHtmlString ValidationMessage(this HtmlHelper Html, string Model)
   {
     return System.Web.Mvc.Html.ValidationExtensions.ValidationMessage(Html, Model);
   }

但是只要这个我应该覆盖ValidationMessageFor,它也会转移到MVC的html代码模板的一般实现。

问题:这是解决此类问题的最佳做法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

当我需要自定义ValidationMessageFor元素时,我使用css来定位渲染的标记。

我所知道的唯一模板是EditorTemplates和DisplayTemplates--它们分别需要“EditorFor”和“DisplayFor”。 ValidationMessageFor是硬编码的。

我找到了一些帖子herehere,这些帖子可以帮助您编写自己的方法。