Подтвердить что ты не робот

Asp.net MVC 3 RC - Razor ValidationMessageFor CustomMessage и ClientSideValidation Проблема

ASP.Net MVC 3 RC, Razor

Ощущается непредвиденное поведение, когда я пытаюсь использовать настраиваемое сообщение и используя проверку на стороне клиента. Проблема заключается в том, что он всегда отображает пользовательское сообщение, даже если нет ошибки.

Так что скажите, что у меня есть модель клиента, где значение FirstName установлено как обязательное. Если у меня есть следующий код, сообщение проверки не отображается, пока я не нажимаю "Отправить", который работает как ожидалось.

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName)

Но теперь скажу, что я хочу настроить сообщение проверки для использования звездочки, например:

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName, "*")

Теперь, даже до того, как я нажму кнопку "Отправить", рядом с полем всегда есть звездочка.

Ожидаемое поведение заключается в том, что при появлении ошибки проверки будет отображаться звездочка.

Спасибо за любую помощь.

4b9b3361

Ответ 1

Я нашел проблему, нужен следующий CSS:

.field-validation-valid
{
    display: none;
}
.validation-summary-valid
{
    display: none;
}

Где-то в моем рефакторинге эти классы были вывезены. Они находятся там по умолчанию, когда вы запускаете новый проект MVC 3. Надеюсь, что кто-то поможет в будущем!

Ответ 2

Выбранный ответ не помог мне. Мне пришлось использовать следующее. Обратите внимание, что класс является "ошибкой", а не "действительным". Это скрывает сообщение проверки, отображаемое при загрузке страницы.

<style>
.field-validation-error
{
    display: none;
}
.validation-summary-valid
{
    display: none;
}

</style>