当前位置: 首页 > 面试题库 >

带有休眠验证的Spring MVC不起作用

黎奇略
2023-03-14
问题内容

我在使用Spring进行休眠验证时遇到一些问题。我已经按照在线教程中的说明进行了所有操作,但是它不起作用,我只是转到下一页而没有验证错误。

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class Customer {

private String firstName;

@NotNull()
@Size(min=1, message = "this field must not to be empty")
private String lastName;

控制器:

@RequestMapping("/processForm")
public String processForm(@ModelAttribute("customer") @Valid Customer 
                          customer, BindingResult bindingResult) {
    if(bindingResult.hasErrors()) {
        return "customer-form";
    }
    return "customer-confirmation";
}

客户form.jsp

<form:form action="processForm.form" modelAttribute="customer">
    First name: <form:input path="firstName"/>
    <br>
    Last name (*): <form:input path="lastName"/>
    <form:errors path="lastName" cssClass="error"/>
    <input type="submit" value="Submit"/>
</form:form>

因此,当我的lastName为空字段时,BindingResult中没有错误。我究竟做错了什么?


问题答案:

hibernate- validator如果您的类路径尚不存在,请添加它。如果您正在使用任何构建工具,例如gradlemaven仅添加hibernate- validator到依赖项。

例如:

摇篮:

compile group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.0.13.Final'

Maven:

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.13.Final</version>
</dependency>


 类似资料:
  • 问题内容: 我知道,问题已经发布了无数次,因此,如果有相同的问题(我还没有找到),请给我链接或建议。 我的数据库(和)中有两个表,两个POJO Hibernate类(和)。 我想在单个列表对象的jsp中显示这两个表中的字段,因此我决定使用。这两个表由字段(这是的主键)连接在一起,我希望from中的from 与from中的字段一起显示。在由该注释之前: 我将此属性添加到了(带有getter和sett

  • 问题内容: 我对hibernate.hbm2ddl.auto = validate的实际工作方式很感兴趣,并且正在努力寻找全面的文档。 我们最近发现生产系统受到http://opensource.atlassian.com/projects/hibernate/browse/HHH-3532的影响(hibernate匹配名称上的外键,而不是签名,因此将为您重新创建外键)并hibernate.hbm

  • 问题内容: 我正在像下面这样在我的DAO类中注入一个: 但是我得到了 根据调试输出,并且在是。 一些文件供参考: : : : 问题答案: 如果要使用Hibernate会话和事务注入功能,则操作映射包需要扩展该包。 有关包装的更多详细信息 该插件提供了一个名为的映射包。它具有三个指示注入功能的拦截器堆栈: :类似于Struts2 (无需验证!),但具有Hibernate会话和事务注入功能。 :类似于

  • 问题内容: 我有一个字段,例如,在表中应该是唯一的。 使用Spring / Hibernate验证进行验证的最佳方法是什么? 问题答案: 一种可能的解决方案是创建自定义约束(和相应的验证器)。并在数据库中查找现有记录,请提供(或Hibernate )to 的实例。 EntityManagerAwareValidator ConstraintValidatorFactoryImpl 唯一键 Uniq

  • 问题内容: 从Weblogic 11c切换到Weblogic 12c后,出现此异常: 我发现了有关该主题的其他问题,但是所有解决方案都是关于错误的库的(Vaadin 7-Bean Validation )。我认为我的hibernate-validator与bean验证器库匹配。这是我在WEB-INF / lib中拥有的: 可能是由其他依赖性引起的吗? 编辑 我目前在我的weblogic-appli

  • 问题内容: 我有一个使用枚举的数据库表。这已经可以与hibernate(使用XML)一起使用了,我正尝试将其转换为注释,因为这是仍在使用xml表示法的最后一部分。 列定义: 以下作品: 这不起作用: 注释样式在启动时导致以下异常:org.hibernate.HibernateException:UserDTO中列状态的列类型错误。找到:枚举,预期:varchar(255) 我有什么办法强迫它像使用