我有一個場景,我需要驗證嵌套實體的一列。實際上它是這樣的。我有兩個實體之間的映射,例如 User 和 Company 實體。我在 User 表中有一個 Company 表的外鍵。在我的創(chuàng)建用戶表單中,我有一個用于選擇公司的下拉列表,當(dāng)用戶提交表單時,只有一個唯一的列被發(fā)送到服務(wù)器,在那里我根據(jù)該列獲取公司并將其設(shè)置為傳入的用戶對象。現(xiàn)在我正在對用戶表進(jìn)行驗證,所有原始字段都得到了很好的驗證?,F(xiàn)在我想驗證嵌套公司對象中的唯一列是否存在。注意:我谷歌搜索它,我發(fā)現(xiàn)我可以將 @Valid 注釋放在嵌套的公司對象之上,但這樣我必須驗證公司對象的必填字段。但我只想驗證我從創(chuàng)建用戶表單收到的唯一列。那么,有沒有辦法解決這個問題。請幫忙。
3 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗 獲得超13個贊
我能想到的唯一解決方案是使用手動休眠驗證:
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
提交
取消