Html.ValidationMessageFor Цвет текста

Вероятно, простой вопрос, но я не могу найти ответ.

с использованием MVC 2 у меня есть серия элементов управления Html.ValidationFor. Я хочу назначить класс CSS для текста и не могу сделать это.

<%= Html.TextBoxFor(Model => Model.Chest, new { @class = "textBoxMeasure" })%>
<%= Html.ValidationMessageFor(Model => Model.Chest) %>

если я попробую тот же метод, что и textboxfor, я получаю ошибки, потому что он требует строки, когда я помещаю строку в нее, все еще не работает!

спасибо

Ответ 1

Существует вариант, который принимает htmlAttributes в качестве третьего аргумента (второе - это сообщение, которое должно отображаться, или вы можете использовать null для сообщения проверки по умолчанию)

Html.ValidationMessageFor(
        Model => Model.Chest, 
        "Please enter a value", 
        new { @class = "redText" })

Подробнее см. http://msdn.microsoft.com/en-us/library/ee721293%28v=vs.98%29.aspx

Ответ 2

Я добавил комментарий к принятому ответу, но я не могу отформатировать его для лучшего просмотра. Итак, вот мой уже отформатированный комментарий от принятого ответа.

У меня был похожий случай, и я использовал решение из принятого ответа. Но я хотел использовать сообщение из аннотации модели. Я попробовал это:

@Html.ValidationMessageFor(Model => Model.Chest, null, new { @class = "text-danger" });

и он правильно работал у меня. Я использовал MVC4 с бутстрапом.

Ответ 3

Используйте классы, назначенные тегу span, содержащему сообщение. Если поле допустимо, класс является действительным для проверки поля. Если есть ошибка, это ошибка проверки поля.

Я использую

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

Ответ 4

Простейший способ сделать это, чтобы поместить @Html.ValidationMessageFor в тег div и применить css к тегу div

    <div style="font-size:15px !important;">
             @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
    </div>