1

我正在学习 thymeleaf 验证部分,我遇到了类似的错误

评估 SpringEL 表达式的异常:“#fields.hasErrors('jobtitle')”(authentication/contactus:19)

我的表格有以下字段

        <div class="form50">
            <label for="contact.emailAddress"><span th:text="#{contact.email}">Email</span></label>
             <span class="error" th:if="${#fields.hasErrors('email')}" th:errors="email"></span>
            <input type="email" th:field="*{email}" class="field50" th:classappend="${#fields.hasErrors('email')}? 'fieldError'" />
        </div>

        <div class="form50">
            <label for="customer.firstName"><span th:text="#{contact.jobtitle}">Job Title</span></label>
            <span class="error" th:if="${#fields.hasErrors('jobtitle')}" th:errors="*{jobtitle}"></span>
            <input type="text" th:field="*{jobtitle}" class="field50" th:classappend="${#fields.hasErrors('name')}? 'fieldError'" />
        </div>

        <div class="login_register">
            <input class="register_button big red" type="submit" th:value="#{contact.contact}"/>
        </div>

    </blc:form>

当我删除 jobtitle div 时,它的工作正常

myvalidator 类如下所示

public void validate(Object obj, Errors errors, boolean useEmailForUsername) {
        ContactCustomerForm form = (ContactCustomerForm) obj;
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "name.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "email", "emial.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "jobtitle", "jobtitle.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "country", "country.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "phone", "phone.required");
}

我无法识别的问题是什么!!!!!!请帮助

4

1 回答 1

1

问题是以下行

<span class="error" th:if="${#fields.hasErrors('email')}" th:errors="email"></span>

它一定要是

th:errors="*{email}"

与下面代码中的这一行相同

<span class="error" th:if="${#fields.hasErrors('jobtitle')}" th:errors="*{jobtitle}"></span>
于 2015-11-08T21:42:24.800 回答