我有一个场景,我需要验证嵌套实体的一列。实际上它是这样的。我有两个实体之间的映射,例如 User 和 Company 实体。我在 User 表中有一个 Company 表的外键。在我的创建用户表单中,我有一个用于选择公司的下拉列表,当用户提交表单时,只有一个唯一的列被发送到服务器,在那里我根据该列获取公司并将其设置为传入的用户对象。现在我正在对用户表进行验证,所有原始字段都得到了很好的验证。现在我想验证嵌套公司对象中的唯一列是否存在。注意:我谷歌搜索它,我发现我可以将 @Valid 注释放在嵌套的公司对象之上,但这样我必须验证公司对象的必填字段。但我只想验证我从创建用户表单收到的唯一列。那么,有没有办法解决这个问题。请帮忙。
3 回答
![?](http://img1.sycdn.imooc.com/54584dd900014f6c02200220-100-100.jpg)
红颜莎娜
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
}
添加回答
举报
0/150
提交
取消