У меня есть простая форма для регистрации пользователей. Эта ан-схема имеет поле "age", который является integer. Я создал форму Validator для проверки всех входов. Теперь у меня проблема с «возрастом». Если пользователь вводит строку в этом поле (вместо целого), Validator просто говорит, что есть ТипMismatch и result.hasErrors() возвращает true. Но я не знаю, как получить доступ к имени поля, чтобы передать ошибку на страницу JSP с соответствующей ошибкой. Я только был в состоянии получить доступ к имени моей формы с:имя доступа ввода от весовой формы валидатор
if(result.hasErrors()) {
for(ObjectError error: result.getFieldErrors()) {
System.out.println(error.getObjectName());//returns form name not problematic field
}
}
Так что мой вопрос: как получить доступ к имени поля (уникальное имя ввода) в валидаторе, чтобы связать ошибку с конкретным входом? Мне нужно, чтобы он послал что-то пользователю, говоря, что он отжимает «возраст».
Зачем вам это нужно? Имеются коды ошибок, один из которых подобен 'formname.field.TypeMismatch' (или наоборот).В основном то, что вы хотите, уже поддерживается из коробки с сообщениями об ошибках/привязкой, поэтому не уверен, почему вы пытаетесь обойти это. –
См. Отредактированный вопрос. Я хочу отправить что-то пользователю. Например, «Ты попал в неправильный возраст». Но я не могу уловить условие в пределах Валидатора. Я имею в виду, что я хочу, чтобы какое-то условие cathc: полевый возраст имеет несоответствие и отправляет конкретную ошибку в конкретное поле ввода. – ovod
Как уже говорилось, это уже поддерживается по умолчанию, и поэтому я удивляюсь, почему вы изобретаете колесо и работаете с каркасом, а не с каркасом. –