2014-01-24 17 views
3

У меня есть пользовательский интерфейс с некоторым набором полей, где поле становится обязательным на основе значения, вставленного в другое поле. Так что просто хотелось бы узнать, какая именно проверка должна выполняться на стороне сервера, а также в конце UI или достаточно, если я сделаю проверку на конце пользовательского интерфейса, но не на конце сервера.Лучшая практика для обработки валидации

ответ

2

Должны быть проверки на обоих клиентской стороне и стороне сервера.

Клиент не может предоставить неполную форму.

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

0

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

Может быть, думать об использовании рамки как Java Server Faces

1

правила с проверкой никогда не доверять вход. Предполагая, что вы создаете веб-приложение, вы должны, по крайней мере, проверять, когда вы впервые попадаете на сервер и быстро сообщаете об ошибках. Причина заключается в том, что пользователь ведет себя непредвиденно, а клиентский javascript легко подрывается. Клиентский javascript следует рассматривать как удобство для пользователя. Если вы предоставляете свои услуги на многих фронтах (толстый клиент, веб-службы и т. Д.), Вы также должны подтвердить свою эффективность в своих сервисах.

0

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

Если вы хотите сохранить или сделать некоторую логику в бэкэнд, вы также должны проверить ее на бэкэнд.

Java/JSF спящий режим Пример (бэкенд):

@NotBlank(message = "{contact.firstName.isEmpty}") 
@Size(min = 1, max = 255, message = "{contact.firstName.invalid}") 
public String getFirstName() { 
    return firstName; 
} 
Смежные вопросы