Хорошая практика - Весенняя проверка - фронтенд и бэкэнд

1

Я разрабатываю весеннее веб-приложение (Spring MVC 4) с использованием проверки Bean (JSR-303). Но есть некоторые случаи, когда мне нужна другая проверка на моем интерфейсе (тимелеаф), например, мне нужно создать регистрационную форму для сохранения информации пользователя, для этого необходимы такие поля, как "emailConfirmation", "passwordConfirmation". Этот вид полей мне не нужно сохранять в моем db, поэтому они @Transient, но есть также @NotNull, потому что мне нужно проверить форму.

Когда мне нужно сделать что-то еще с этим доменом и сохранить его, проверка бина блокирует меня, потому что это поля @NotNull или @NotEmpty.

Мой вопрос: что я должен делать в этой ситуации?

Что я уже подумал:

  • Сделайте собственную проверку для этого домена и удалите @NotNull, @NotEmpty аннотации из этих полей.
  • Создайте другой домен, чтобы использовать его в моем интерфейсе, и после его проверки скопируйте его в домен сущности.

спасибо, Alexandre.

  • 0
    Я бы даже не отправил их на сервер и не позволил клиенту проверить их.
Теги:
spring
spring-mvc
validation

1 ответ

2
Лучший ответ

Второй вариант. Создайте другой домен, чтобы использовать его в моем интерфейсе, и после его проверки скопируйте его в домен сущности для меня.

Лучше выделить DTO (объект передачи данных) и Entity. Добавьте подтверждение в DTO, чтобы проверить правильность отправленных данных. Никогда не доверяйте проверке клиента. Это может быть хакер или неправильный сценарий на клиенте или по любой другой причине, и вы должны быть уверены, что данные, которые вы пытаетесь работать на сервере, верны.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню