[英]exception thrown in isValid - hibernate validator
驗證某些配置時,我使用自定義驗證器從application.yml加載,如下所示:
public class MyValidator implements ConstraintValidator<MyAnnotation, List<MyClass>> {
@Override
public void initialize(MyAnnotation myAnnotation) {
//nothing to do
}
@Override
public boolean isValid(List<MyClass> myList, ConstraintValidatorContext context) {
// validation logic
}
}
如果驗證邏輯觸發異常,例如在空指向的情況下,我注意到其他可能的驗證器沒有啟動,並且顯示錯誤消息,其中讀取類似於綁定錯誤的消息。
避免這種情況的最佳做法是什么?
因此,使用Hibernate Validator的驗證器的一般最佳實踐是他們應該將null條目視為有效。
如果你檢查我們在Hibernate Validator中提供的那些,它們對於null條目都返回true。 想要在檢查null時明確使用@NotNull
。
有一些例外,例如@NotBlank
但這是一般的最佳實踐。
顯然,如上所述,您的代碼需要正確並避免NPE或其他異常。 但這不言而喻。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.