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

@Html.ValidationMessageFor() пользовательская проверка: всегда отображается сообщение

Я пытаюсь использовать другое сообщение для @Html.ValidationMessageFor() в ASP.NET MVC3. Это работает отлично, но кажется, что сообщение всегда отображается, например. если я это сделаю:

@Html.ValidationMessageFor(model => model.TimesheetEntry.Product)

то ошибка отображается только при отправке формы, и она недействительна. Однако, если я это сделаю:

@Html.ValidationMessageFor(model => model.TimesheetEntry.Product, "custom error")

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

4b9b3361

Ответ 1

Вы пробовали CSS из этого вопроса?

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

Ответ 2

Вероятно, у вас есть параметр модели в методе httpGet ActionResult

Ответ 3

Я не играл с достаточной проверкой в ​​MVC 3, поэтому я просто просматриваю способ устранения этой проблемы.

Я бы посмотрел на это: http://msdn.microsoft.com/en-us/library/dd470929.aspx

Да, стандартная документация MSDN, но метод ValidationMessageFor() гласит:

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

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