Thymeleaf仅将属性添加到每个循环中的第一个项目

时间:2018-04-10 07:46:03

标签: java thymeleaf parsley.js parsley

我正在尝试使用欧芹验证,但在我的输入循环中添加data-parsley-min="1"会将它们添加到所有这些。

出于某种原因,它现在无法正常工作,我认为这是因为多个data-parsley-min="1"属性。

这是我的代码:

<form id="questionSubmitForm" data-parsley-validate="">
    <div class="form-group">                                    
        <label class="font-weight-bold" for="prechecks">Pre-checks</label>
        <div class="form-check" th:each="researchType : ${question.research}">
            <input class="form-check-input" type="checkbox" name="prechecks[]" th:value="${researchType.value}" data-parsley-mincheck="1">
                <label class="form-check-label" th:for="${researchType.value}" th:text="${researchType.key}"></label>                            
        </div>
    </div>
</form>

1 个答案:

答案 0 :(得分:0)

您可以使用th:attrappend(以及iteration status - 注意, i属性中的th:each):

<form id="questionSubmitForm" data-parsley-validate="">
    <div class="form-group">                                    
        <label class="font-weight-bold" for="prechecks">Pre-checks</label>

        <div class="form-check" th:each="researchType, i : ${question.research}">
            <input class="form-check-input" type="checkbox" name="prechecks[]" th:value="${researchType.value}" th:attrappend="data-parsley-mincheck=${i.index == 0 ? 1 : ''}" />
            <label class="form-check-label" th:for="${researchType.value}" th:text="${researchType.key}"></label>                            
        </div>
    </div>
</form>