2010-12-06 3 views
20

ASP.Net MVC 3 RC, RazorAsp.net MVC 3 RC - Бритва ValidationMessageFor CustomMessage и ClientSideValidation Проблема

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

Так что скажите, что у меня есть модель клиента, где значение 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, "*") 

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

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

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

ответ

25

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

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

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

+4

Это помогло мне, не мог понять, почему моя проверка была показана, пока я не увидел это, спасибо! – mikelomaxxx14 2011-05-04 10:27:16

1

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

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

</style> 
Смежные вопросы