MVC3:Razor验证文本:在不将验证消息设置为null的情况下生成红色

Mat*_*att 2 c# asp.net razor asp.net-mvc-3

这很好用:

@Html.ValidationMessageFor(m => m.Definition)
Run Code Online (Sandbox Code Playgroud)

除了文字是黑色的事实.我想要它是红色的.所以,我试过这个:

@Html.ValidationMessageFor(m => m.Definition, null, new { style = "color: red" })
Run Code Online (Sandbox Code Playgroud)

但是,这是将消息设置为NULL.疯狂的是没有超载会占用htmlAttributes arg而没有消息arg ..... argghhh !!!

什么是实现这一目标的最优雅的方法(没有我必须编写自己的验证消息)?

Mat*_*att 10

在这里找到答案:http://www.jstawski.com/archive/2011/05/12/asp.net-mvc3-change-validation-class.aspx

编辑

现在回答:http://jstawski.com/post/2011/05/13/ASPNET-MVC3-change-validation-class

基本上:

如果您使用ASP.net MVC3内置验证,如

@Html.ValidationMessageFor(m => m.Username)
Run Code Online (Sandbox Code Playgroud)

您可以通过重写CSS类字段验证错误来轻松更改验证,如下所示:

.field-validation-error
{
    color: red;
}

.validation-summary-errors
{
    color: Red;
}
Run Code Online (Sandbox Code Playgroud)