У меня проблема с обработкой null
значения в форме select
и возвращением правильного сообщения, что это значение не может быть null
.
Мое представление (часть формы):
<label>Producer:</label>
<select class="form-control" th:field="*{producer.id}" th:errorclass="has-error">
<option value="0">Select producer</option>
<option th:each="producer : ${producers}"
th:value="${producer?.id}"
th:text="${producer?.producerName}">
</option>
</select>
<span th:if="${#fields.hasErrors('producer')}">
<ul>
<li th:each="err : ${#fields.errors('producer')}" th:text="${'- ' + err}"/>
</ul>
</span>
Часть контроллера солода:
@NotNull
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="producer_id")
private Producer producer;
Пружина (или тимелист?) Требует value
, поэтому я установил ее на 0
- это отношение ManyToMany, и значениявзято из базы данных - нет 0
, поэтому выдается ошибка:
org.thymeleaf.exceptions.TemplateProcessingException: Attribute "value" is required in "option" tags (template: "malt/createOrUpdateMaltForm" - line 55, col 9)
Я пробовал несколько разных подходов, но не могу вернуть сообщение об ошибке в форму, информирующее пользователя о выбореодин из доступных вариантов.
Как мне этого добиться?