我正在驗證我的數據訪問對象類的字段。在一次嘗試中,我已經開始向屬性添加Bean Validation註解(@NotNull,@NotBlank,@Min,@Max等)。我也有更多的註釋傑克遜(JsonProperty(..))爲swagger庫和文檔(@Api(...))。在我看來,課堂非常「髒」,有許多註釋(每個屬性至少有三個註釋)。一個字段的例子:何時使用Bean驗證與自定義驗證框架?
@JsonProperty("ownName")
@Api(description="it is my own name" required=true)
@Valid
@NotNull
private SomeObject object;
在另一種嘗試,我已經同春Validator
界面進行自己的驗證。如果使用自定義驗證程序(如Spring界面),它似乎更清晰,並且還允許您自由地爲不同情況生成多個驗證程序。另外,類似乎沒有如此重載,註釋和驗證獨立於類。的Validator
例如:
public class UserValidator implements Validator {
@Override
public boolean supports(Class<?> arg0) {
return User.class.isAssignableFrom(arg0);
}
@Override
public void validate(Object obj, Errors error) {
User user = (User) obj;
if(user.getPassword().length() < 10)
{
error.reject("Password must be lesser than 10");
}
//more validations....
}
}
- 當你使用一個或其他?
- 每個的優缺點是什麼?