Не отображаются сообщения об ошибках атрибута проверки пользовательского класса ASP MVC 2 - PullRequest
1 голос
/ 07 июля 2010

В моем классе метаданных модели я использую атрибуты аннотации данных для проверки популярности.Это прекрасно работает.

Я создал пространство имен Attributes и 4 пользовательских атрибута проверки, происходящих из System.DataAnnotations.ValidationAttribute;Все эти атрибуты проверяют всю модель в целом, потому что они должны сравнивать несколько полей.Я использовал атрибут PropertiesMustMatch в качестве примера.Я знаю, что эти атрибуты работают, потому что я тщательно их протестировал.Проблема в том, что когда один из этих атрибутов выдает ошибку, он просто перерисовывает форму, и, как только вы исправите проблему, вы можете безопасно отправить ее, и она заработает.Но сообщения об ошибках никогда не отображаются из атрибутов.

Мой вопрос заключается в том, как подключить сообщения об ошибках к ValidationSummary ()?

Я использую Html.ValidationSummary (true) вПредставления.

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

Ответы [ 2 ]

2 голосов
/ 07 августа 2012

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

2 голосов
/ 09 июля 2010

Вы переопределяете метод FormatErrorMessage () в своем классе?

public override string FormatErrorMessage(string name)
{
   return String.Format(CultureInfo.CurrentUICulture, ErrorMessageString,
                        OriginalProperty, ConfirmProperty);
}

К вашему сведению, вставьте код с первым четырех пробельным буфером слева, и он будет отформатирован очень хорошо (по крайней мере, достаточно длянаши цели).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...