#asp.net-mvc #unobtrusive-validation
#asp.net-mvc #ненавязчивая проверка
Вопрос:
Я обновил свой проект .net MVC до MVC3 и теперь играю со встроенной проверкой клиента. Я заметил, что javascript добавляет звездочку * после каждого поля ввода во всех моих старых формах. Где создается эта звездочка и как мне ее изменить / удалить?
Звездочка появляется после включения следующих ключей в файле web.config
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
Ответ №1:
Я думаю, что это стили CSS, используемые фреймворком MVC для проверки.
.input-validation-error { border: 1px solid #f00 }
.field-validation-error { color: #f00 }
.field-validation-valid { display: none }
.validation-summary-errors { font-weight: bold; color: #f00 }
.validation-summary-valid { display: none }
В вашем случае добавление этого стиля в ваш css должно сработать
.field-validation-valid { display: none }
Ответ №2:
Вы можете изменить сообщение об ошибке, используя атрибуты в элементах класса модели представления, такие как [Required(ErrorMessage = "Username is required.")]
При этом будет отображаться сообщение, а не звездочка. Я бы предположил, что ввод пустой строки приведет к принудительному удалению сообщения, но я не пробовал.
Комментарии:
1. Звездочка появляется перед проверкой за каждым полем в следующем html: <span> *.< /span> Установка сообщения об ошибке не изменила звездочку, поэтому я не думаю, что это сообщение об ошибке.