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

Html.ValidationSummary(false, "message" ) всегда отображается, даже при загрузке страницы

Я использую проверку на стороне клиента, и я хотел бы, чтобы приведенное ниже сообщение отображалось только тогда, когда у меня есть ошибка. Я пытаюсь использовать эту общую ошибку в случае, если какое-либо поле недействительно.
В настоящее время

"* обозначает обязательное поле"

всегда отображается даже перед проверкой.

<%: Html.ValidationSummary(false, "* denotes required field.")%>

Я использую привязку модели для выполнения проверки на стороне клиента и MVC.

4b9b3361

Ответ 1

Если вы используете инструмент разработчика в своем браузере для проверки сводного текста проверки, вы увидите, что он имеет класс validation-summary-valid, когда он ясен, но validation-summary-errors, когда есть ошибки формы.

Поэтому просто создайте правило css следующим образом:

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

и все должно быть хорошо.

Ответ 2

Я думаю, что проблема заключается в том, что Html.ValidationSummary должен появиться перед Html.BeginForm, иначе сообщение всегда отображается.

Ответ 3

Сначала я проверял свойство List на загрузке страницы, поэтому я мысль о прохождении новой модели. Затем только что появилось резюме проверки. Когда я изменил свой код из

return View(new myModel)

к

return View()

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