Thymeleaf验证

时间:2013-09-06 08:57:58

标签: java spring 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");
}

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

1 个答案:

答案 0 :(得分:0)

问题在于

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