2013-10-28 50 views
0

我如何才能Hibernate驗證可能也是空的屬性?更重要的是:只驗證IF屬性是否爲空,否則跳過驗證?如何斷言只有屬性斷言不是空的?

private int age; 
@AssertTrue(condition = "age != null") //something like this 
boolean isAgeValid() { 
    return age >= 0; 
} 

有什麼可能嗎?

+0

你也可以使用'@NotNull'註釋嗎? – david99world

+4

'return age == null ||年齡> = 0'?我錯過了什麼嗎?你在說什麼? –

+0

我只希望它被驗證,如果它是'!= null'。我在Hibernate驗證器上使用它來自動驗證我的所有字段。但是如果字段仍爲空/空,這意味着用戶沒有觸摸它,因此它不應該通過驗證,因爲它也可能是空的。但如果它不是空的,它應該被斷言。所以我也不能使用'@NotNull',因爲它可能是空的。 – membersound

回答

0

嗯ok了,因爲沒有可能克服這種上標註的水平,我把它改成如下:

@AssertTrue 
private boolean isAgeValid() { 
    return StringUtils.isBlank(age) || age >= 0; 
} 

也許是最好的選擇現在。