当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Hibernate约束验证器

张照
2023-03-14

我想通过使用Spring Boot和Hibernate Validator进行字段验证,而不保存数据

public class RoomDto {

    private long id;

    @Expose
    private int beds;

    @Expose
    private double size;

    @Expose
    @NotNull
    private String flatBasicStringDto;
}
RoomDto guestRoom = this.jsonParser.read(RoomDto.class, "/files/input/room.json");
spring.jpa.properties.javax.persistence.validation.group.pre-persist=javax.validation.groups.Default

共有1个答案

邰勇军
2023-03-14

您可以使用@valid注释使用方法级验证。但是,您需要您的DI容器与验证框架挂钩。使用spring的一个全面示例位于http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/。

如果您不想使用DI containter,您可以使用以下内容来获取验证错误:

 ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
 Validator validator = factory.getValidator();
 Set<ConstraintViolation<RoomDto>> errors = validator.validate(guestRoom);
 类似资料:
  • 我计划使用API中的 波姆。xml 位置检查。JAVA 位置验证器。JAVA 位置JAVA 机器人。JAVA 一个pp.java 这里的问题是,上的

  • 在本教程中,你将学习如何在 Sequelize 中设置模型的验证和约束. 对于本教程,将假定以下设置: const { Sequelize, Op, Model, DataTypes } = require("sequelize"); const sequelize = new Sequelize("sqlite::memory:"); const User = sequelize.define

  • 为了在将表单提交到服务器之前验证数据,HTML5 新增了一些功能。有了这些功能,即便JavaScript被禁用或者由于种种原因未能加载,也可以确保基本的验证。换句话说,浏览器自己会根据标记中的规则执行验证,然后自己显示适当的错误消息(完全不用JavaScript 插手)。当然,这个功能只有在支持HTML5 这部分内容的浏览器中才有效,这些浏览器有Firefox 4+、Safari 5+、Chrom

  • 我有一个像下面这样的模型对象,带有自定义约束验证器。自定义验证器检查是否填充了fileName或小时。 有一种方法将此作为输入,它验证所有以下条件 > 条件不为空(通过默认验证器) criteria.id不为空(通过默认验证器) criteria.name不为空(通过默认验证器) 标准文件名或小时不为空(通过自定义验证器) 空评估(@NotNull@有效标准标准){} 现在,当我为这个模型类编写单

  • 我在项目中使用bean验证,我想为现有的约束注释编写一个自定义验证器。 例如,我有一个类,它表示一个名为CustomDateTime的日期/时间。在使用此类作为例如出生日期的类中,我想用过去的日期对字段进行注释: 然后,我通过实现ConstraintValidator创建一个自定义验证器 我知道您通常会创建这样的单独注释: 但对我来说,这似乎是双重代码;-) 如何注册要与一起使用的自定义验证器?

  • 我已经搜索并找到了很多关于这个问题的话题,但无论出于什么原因,解决方案都不能解决我的问题。 我运行的是Spring boot 1.5.8和Hibernate。 我创建了一个自定义验证注释,以检查电子邮件与数据库相比是否唯一。注释使用查询数据库,以检查数据库中是否已存在电子邮件。我一直得到一个异常,bean为空。 我的理论是使用了hibernate验证器,而不是< code > UniqueEmai