Как мне удалить звездочку, созданную ненавязчивой проверкой MVC3?

#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> Установка сообщения об ошибке не изменила звездочку, поэтому я не думаю, что это сообщение об ошибке.