是否可以使用Hibernate验证程序API将经过验证的对象存储在带有注释的字段中?例如,我想Email
通过调用Java方法而不是@Email
在Java
bean属性上添加注释来验证地址。
是的,有可能。尝试类似的东西,
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Car car = new Car(null);
Set<ConstraintViolation<Car>> constraintViolations = validator.validateProperty(car, "manufacturer");
看看这里。
(编辑必须为6个字符)
问题内容: 标题不言自明。 我很高兴听到解决方案,谢谢。 问题答案: 到目前为止,有一种比列出的方法更短的方法:
问题内容: 有没有一种方法可以使用此处定义的注释来定义Hibernate验证规则,说明至少一个字段不能为null? 这将是一个假设的示例(实际上不存在): 在所示的情况下,fieldA可以为null或fieldB可以为null,但不能同时为两者。 一种方法是创建自己的验证器,但是我想避免它已经存在。如果您已经验证过,请分享一个验证人…谢谢! 问题答案: 我终于写了整个验证器: 用法示例:
我正在使用Spring Boot 2.2.0用java bean验证框架构建一个restful服务。Hibernate-Validator在幕后使用。验证工作得很好,但在一个字段与约束不匹配后会引发异常。我想先验证所有字段,然后给消费者一个包含所有错误的响应。这可能吗?
问题内容: 如何使用休眠注释来验证枚举成员字段?以下内容不起作用: 问题答案: 请注意,您还可以创建一个验证器来检查String是否为枚举的一部分。 这很好,因为您不会丢失“错误值”的信息。您会收到类似的消息 值“ someBadUserType”不是有效的用户类型。有效的UserType值是:PERSON,COMPANY 编辑 对于那些想要非番石榴版本的人,应该使用类似以下的功能: 并要自定义错
这里有一个小问题,希望这个问题也能帮助其他想知道更多关于注释验证的人 我目前正在研究Spring,目前,我计划尝试定制注释验证。 我搜索了很多,现在我知道主要有两种验证,一种用于控制器,另一种是使用@Valid的注释方法 在此之后,我需要创建验证器本身: 另一个想法是使用同一个类作为一个例子,它说我想要生日,confirmBirthday和birthdayMessdage只能同时为null或反对。
问题内容: 如果我们使用 代替 如果我们使用不带注释的日期列属性,会有任何副作用吗? 问题答案: 我设法找到的只有一部分文档: 在纯Java API中, 未定义时间 的 时间精度 。处理时态数据时,您可能需要描述数据库中的预期精度。时间数据可以具有DATE,TIME或TIMESTAMP精度(即实际日期,仅时间或两者兼有)。使用@Temporal批注进行微调。 从2.2.2.1开始。声明基本属性映射