При проверке bean-компонента (теперь известной как Jakarta Validation) мне нравится использовать двухуровневый подход.
- Запускайте проверку на стороне клиента (на данный момент с помощью подключаемого модуля проверки jQuery) еще до того, как форма будет отправлена на сервер, чтобы проверить правильность сформированной/полной формы.
- Запуск проверки компонентов на сервере с использованием аннотаций на самих компонентах, чтобы предотвратить сбои в базе данных в случае, если кто-то обходит проверку на стороне клиента.
Отслеживание двух наборов критериев проверки становится непростой задачей... Сообщения об ошибках легко отслеживать, потому что я могу вставить их в файл messages.properties и выполнить поиск сообщений как мой компонент, так и страница JSP. Настоящая проблема — это цифры.
Например, предположим, что у меня есть контрольный список с примечаниями к строковой переменной. Минимальный размер — 10, максимальный размер — 2000 на момент выпуска. Через три месяца я вижу, что 2000 просто не подходит, и мне нужно увеличить предел размера до 4000 как максимум. Теперь мне нужно изменить число в двух местах.
Проверка Java Bean с аннотацией:
Код: Выделить всё
@Entity
public class Checklist{
@Size(min = 10, max = 2000, message = "{Checklist.size}")
private String notes;
}
Код: Выделить всё
$("#someForm").validate({
rules:{
'checklist.notes':{
minlength:10,
maxlength:2000
}
}
});
Подробнее здесь: https://stackoverflow.com/questions/177 ... ion-spring
Мобильная версия