У меня есть этот html-код:
<input class = "form-control col-sm-8" type = "date" th:field = "*{completiondate}">
и эта модель:
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;
public class EventReport {
private Long id;
private Date creationdate;
private String status;
private Date completiondate;
...
}
Дата завершения не является обязательным значением и иногда может быть нулевым. Когда пользователь отправляет форму сообщения, я беру следующее
Field error in object 'treeTrimsEventReport' on field 'completiondate': rejected value [];
Очевидно, что у меня нет ошибок, когда я выбираю значение для даты, и приложение работает нормально. Как я могу без ошибок дать ноль на дату завершения?
<form class = "form-horizontal" action = "#" th:action = "@{/lights/insert}" th:object = "${eventreport}" method = "post">import java.math.BigDecimal; import java.sql.Date; import java.sql.Timestamp; public class EventReport { private Long id; private Date creationdate; private String status; private Date completiondate;





Думаю, это ошибка привязки.
Вам нужно сообщить Spring, как преобразовать данные формы, которые поступают в виде текста (String), в тип вашей модели (здесь Date).
Вы можете сделать это с помощью этой аннотации в поле в EventReport:
import org.springframework.format.annotation.DateTimeFormat
...
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date completiondate;
(измените шаблон, чтобы он соответствовал тому, который вы хотите показать пользователю)
Spring дает вам другую возможность указать, как связывать данные.
Ознакомьтесь со справочным руководством в этой главе, чтобы узнать обо всех возможностях: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-initbinder
не могли бы вы показать аннотации объекта в поле даты, к которому привязана эта дата?