正确处理“选择”形式的“空”的方法

时间:2019-06-10 18:19:39

标签: spring-mvc thymeleaf

我在处理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>

Malt控制器的一部分:

@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)             

我尝试了几种不同的方法,但是我无法将任何错误消息返回到表单,通知用户选择可用选项之一。

我该如何实现?

0 个答案:

没有答案