У меня есть этот объект:
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class NatalChartDataPayload {
String langCode;
@NotEmpty(message = "Email cannot be empty")
@Email(message = "Invalid email format")
String email;
String city;
String place;
}
и этот контроллер:
@GetMapping({"/data"})
public String data (Model model) {
model.addAttribute("months", Month.values());
model.addAttribute("data", NatalChartDataPayload.builder().build());
return "natalChartData";
}
@PostMapping("/create")
public String createNatalChart ( @Valid @ModelAttribute NatalChartDataPayload data, BindingResult result, Model model) {
if (result.hasErrors()) {
return "natalChartData";
}
User user = new User();
user.setEmail(data.getEmail());
if (data.getPlace()==null ||
data.getPlace().isEmpty() ||
data.getEmail()==null ||
data.getEmail().isEmpty()) {
return "redirect:/natalchart/data";
}
..
но если адрес электронной почты неправильный, у меня возникает такая ошибка:
... 124 common frames omitted
2024-04-20 06:46:32.854 ERROR [] o.a.c.c.C.[.[.[.[dispatcherServlet]@log(175) - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/natalChartData.html]")] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'data' available as request attribute
at org.springframework.web.servlet.support.BindStatus.(BindStatus.java:153)
at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:926)
at org.thymeleaf.spring6.context.webmvc.SpringWebMvcThymeleafRequestContext.getBindStatus(SpringWebMvcThymeleafRequestContext.java:232)
at org.thymeleaf.spring6.util.FieldUtils.getBindStatusFromParsedExpression(FieldUtils.java:306)
at org.thymeleaf.spring6.util.FieldUtils.getBindStatus(FieldUtils.java:253)
at org.thymeleaf.spring6.util.FieldUtils.getBindStatus(FieldUtils.java:227)
at org.thymeleaf.spring6.util.FieldUtils.checkErrors(FieldUtils.java:212)
at org.thymeleaf.spring6.util.FieldUtils.hasErrors(FieldUtils.java:71)
at org.thymeleaf.spring6.expression.Fields.hasErrors(Fields.java:58)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... date-email
SpringBoot + Thymeleaf: подтвердить адрес электронной почты ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1713595395
Anonymous
У меня есть этот объект:
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class NatalChartDataPayload {
String langCode;
@NotEmpty(message = "Email cannot be empty")
@Email(message = "Invalid email format")
String email;
String city;
String place;
}
и этот контроллер:
@GetMapping({"/data"})
public String data (Model model) {
model.addAttribute("months", Month.values());
model.addAttribute("data", NatalChartDataPayload.builder().build());
return "natalChartData";
}
@PostMapping("/create")
public String createNatalChart ( @Valid @ModelAttribute NatalChartDataPayload data, BindingResult result, Model model) {
if (result.hasErrors()) {
return "natalChartData";
}
User user = new User();
user.setEmail(data.getEmail());
if (data.getPlace()==null ||
data.getPlace().isEmpty() ||
data.getEmail()==null ||
data.getEmail().isEmpty()) {
return "redirect:/natalchart/data";
}
..
но если адрес электронной почты неправильный, у меня возникает такая ошибка:
... 124 common frames omitted
2024-04-20 06:46:32.854 ERROR [] o.a.c.c.C.[.[.[.[dispatcherServlet]@log(175) - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/natalChartData.html]")] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'data' available as request attribute
at org.springframework.web.servlet.support.BindStatus.(BindStatus.java:153)
at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:926)
at org.thymeleaf.spring6.context.webmvc.SpringWebMvcThymeleafRequestContext.getBindStatus(SpringWebMvcThymeleafRequestContext.java:232)
at org.thymeleaf.spring6.util.FieldUtils.getBindStatusFromParsedExpression(FieldUtils.java:306)
at org.thymeleaf.spring6.util.FieldUtils.getBindStatus(FieldUtils.java:253)
at org.thymeleaf.spring6.util.FieldUtils.getBindStatus(FieldUtils.java:227)
at org.thymeleaf.spring6.util.FieldUtils.checkErrors(FieldUtils.java:212)
at org.thymeleaf.spring6.util.FieldUtils.hasErrors(FieldUtils.java:71)
at org.thymeleaf.spring6.expression.Fields.hasErrors(Fields.java:58)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78357024/springboot-thymeleaf-validate-email[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия