Лучшая практика, чтобы показать ошибки проверки на шаблоне MVP - PullRequest
1 голос
/ 20 апреля 2011

У меня есть Presenter, который используется для регистрации пользователей, и мне нужно внедрить в него ошибки валидации, я создал метод для каждой ошибки валидации, например UserCannotBeEmpty(), InvalidEmailAddress(), UserAlreadyExists() и так далее ...

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

Что не лучший способ сделать это?

спасибо!

1 Ответ

1 голос
/ 20 апреля 2011

Что не так с большим количеством полей - больше проверки? Если у вас есть 20 различных полей для проверки, и каждое из них требует различного типа проверки, вам придется реализовать столько методов.

Конечно, есть несколько распространенных способов помочь вам здесь. Вам, вероятно, не нужны методы UserCannotBeEmpty и PasswordCannotBeEmpty. Скорее всего, вы будете в порядке с CannotBeEmpty(string errorMessage). Рефакторинг вещей, которые являются общими (проверки на нуль, буквенно-цифровые проверки, разбор даты / времени и т. Д. - в зависимости от типа), и выполнение проверки на уровне поля только при необходимости.

Имейте в виду, что валидация для конкретного домена (ваши бизнес-правила, например, «дата отгрузки не может быть раньше даты производства») должна быть подтверждена на стороне модели.

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