本文介紹了Java Bean條件驗證的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個具有兩個屬性的類。我想使用Java Bean驗證,但遇到了一個關于如何處理的問題?
class ProductRequest {
private String quantityType;
private double quantityValue;
//getters and setters
}
我想使用基于以下條件的Java Bean驗證。
如果”QuantityType”等于”foo”,則將”QuantityValue”的最大大小限制為5
否則”QuantityType”等于”bar”,則將”QuantityValue”的最大大小限制為3。
在此方案中,最佳方法是什么?
推薦答案
import javax.validation.constraints.AssertTrue;
@AssertTrue
public boolean isBothFieldsValid() {
if (quantityType.equals("foo")) {
return quantityValue < 5;
} else if (quantityType.equals("bar")) {
return quantityValue < 3;
}
return false;
}
編輯:
從評論中回答問題。您可以嘗試同時使用兩種方法:
@AssertTrue(message = "quantity should be below 5 for foo")
public boolean isQuantityValidForFoo() {
if (quantityType.equals("foo")) {
return quantityValue < 5;
}
return true;
}
@AssertTrue(message = "quantity should be below 3 for bar")
public boolean isQuantityValidForBar() {
if (quantityType.equals("bar")) {
return quantityValue < 3;
}
return true;
}
這篇關于Java Bean條件驗證的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,






