为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot:努力验证嵌套实体 - 我只需要验证 1 个唯一属性

Spring Boot:努力验证嵌套实体 - 我只需要验证 1 个唯一属性

人到中年有点甜 2021-07-20 21:05:30
我有一个场景,我需要验证嵌套实体的一列。实际上它是这样的。我有两个实体之间的映射,例如 User 和 Company 实体。我在 User 表中有一个 Company 表的外键。在我的创建用户表单中,我有一个用于选择公司的下拉列表,当用户提交表单时,只有一个唯一的列被发送到服务器,在那里我根据该列获取公司并将其设置为传入的用户对象。现在我正在对用户表进行验证,所有原始字段都得到了很好的验证。现在我想验证嵌套公司对象中的唯一列是否存在。注意:我谷歌搜索它,我发现我可以将 @Valid 注释放在嵌套的公司对象之上,但这样我必须验证公司对象的必填字段。但我只想验证我从创建用户表单收到的唯一列。那么,有没有办法解决这个问题。请帮忙。
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

我能想到的唯一解决方案是使用手动休眠验证:


ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

Validator validator = factory.getValidator();


Set<ConstraintViolation<Company>> errors = validator.validateProperty(company, "companyShortName");


if (errors.size() > 0) {

//companyShortName is empty

}


查看完整回答
反对 回复 2021-07-29
  • 3 回答
  • 0 关注
  • 274 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信