Проблема проверки загрузки Spring: понимание исключения MethodArgumentNotValidExceptionJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема проверки загрузки Spring: понимание исключения MethodArgumentNotValidException

Сообщение Anonymous »

У меня возникла проблема при проверке формы с помощью Spring Boot. Я уже нашел причину проблемы (и знаю возможное решение), но хотелось бы понять, почему это происходит.
В контроллере, которого достигает метод post, у меня есть:< /p>

Код: Выделить всё

@RequestMapping(value = "/add", method = RequestMethod.POST)
public String processAddNewEvent(@Valid @ModelAttribute("newEvent") EventDto newEvent, @ModelAttribute("imageFile") MultipartFile imageFile, BindingResult result, HttpServletRequest request) {

if(result.hasErrors()) {
return "addEvent";
}

return "redirect:/events";
}

Я хочу просто проверить объект newEvent. Если есть ошибки, я снова показываю форму "addEvent" с сообщениями об ошибках.
Но в этом методе я получаю от формы два параметра: объект newEvent и файл (imageFile) . В этом случае, как только эта функция вызывается, я получаю исключение MethodArgumentNotValidException. Однако, если я удалю imageFile и получу только объект newEvent, исключение не будет выброшено, и проверка будет работать правильно.
То есть, если контроллер выглядит так, проверка работает, и у меня нет исключений:

Код: Выделить всё

@RequestMapping(value = "/add", method = RequestMethod.POST)
public String processAddNewEvent(@Valid @ModelAttribute("newEvent") EventDto newEvent, BindingResult result, HttpServletRequest request) {
if(result.hasErrors()) {
return "addEvent";
}

return "redirect:/events";
}
Итак, мои вопросы: можно ли выполнить проверку одного объекта, а не другого? Разве я не должен получить из формы два разных объекта? Как правильно это сделать?
Спасибо и извините за мой английский!
Моя идея решить эту проблему — поместить файл изображения внутри класса newEvent и, таким образом, получим только один объект. Я до сих пор не знаю, сработает ли это. Я просто хочу хорошо понять проблему

Подробнее здесь: https://stackoverflow.com/questions/791 ... idexceptio
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»