我正在学习百里香验证部分,我得到了像
这样的错误评估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");
}
我无法识别的问题是什么!!!!!!请帮忙
答案 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>