2010-11-25 5 views
0

--- добавил (редактировать) -спящий режим/рессорная проверки в сервисном слое

вы должны сделать проверку на уровне сервиса, даже если вы проверяете на переднем конце?

например, стойки имеют валидации, поэтому вы можете проверить их достаточно. (Я не имею в виду Java Script валидаций.)

-

вы используете спящий режим валидатор или пружинные валидации в вашем слое службы, даже если у вас есть валидации уже на переднем конце?

(передний конец проверки не должны быть Hibernate или весной один)

+0

Это не вопрос – skaffman 2010-11-25 11:39:09

ответ

1

Согласованные данные являются одной из самых важных вещей в Прикладных приложениях!

Итак, да: вам нужно проверить его дважды: в интерфейсе и в сервисном слое.

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

  1. проверяет Java Script из inputfields (макс длина, не пусто ...)
  2. Те же проверки, что и (1) и некоторые более сложные проверки в веб-контроллере на стороне сервера
  3. Важные (а иногда и сложные) ограничения, которые нарушали бы логику приложения, проверялись в юридические лица и услуги
  4. Все, что может легко проверить база данных (не null, ключ forein, уникальный), проверяется ограничениями базы данных.

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

0

Ваш вопрос не достаточно конкретны, т.е. он не выглядит решить ни одной проблемы (это больше опроса).

Чтобы ответить на более конкретный вопрос: «Должны ли вы выполнять проверку на уровне обслуживания, даже если вы проверяете на интерфейсе?», Ответ абсолютно. Практически вся внешняя проверка, особенно для веб-приложений, может быть обойдена. Вы должны выполнить соответствующую проверку, чтобы убедиться, что они согласованы и не должны полагаться на проверку в пользовательском пространстве (например, проверку Javascript), поскольку они легко побеждаются.

UPDATE: при принятии решения о проверке между интерфейсом кода (диспетчер/контроллер) и уровнями обслуживания я бы сказал, что нет жесткого и быстрого правила. Я бы, наверное, проверял, что ввод, который мы получаем, разумен в интерфейсе и выполняет проверку уровня домена на уровне сервиса.

0

мы использовали его в сочетании с калитки как фрондальный каркас. Вы должны учитывать, что вам нужно проверить в два этапа:

  1. тестирующих вход, например: это целое число
  2. проверки в отношении бизнес-логики

Мы решили эту проблему с помощью проверка бизнеса для проверки в калитки. Поэтому вам не нужно писать код дважды.

0

Я настоятельно рекомендую использовать Hibernate Validator и придерживаться всех ваших валидаций модели. Это хороший импульс для инкапсуляции Oops, поскольку модель теперь проверяет себя.

Смежные вопросы