我有以下環境:自動驗證
- Glassfish的4
- 休眠 - 驗證 - 5.0.1.Final.jar(耳)
現在我嘗試實施的方法參數自動驗證:
@Local
@ValidateOnExecution(type = ExecutableType.ALL)
public interface SomeServiceLocal {
String someMethod(@Size(max = 1) String value);
}
在執行:
@Stateless
public class OtherBean implements OtherBeanLocal {
@Inject
private SomeServiceLocal someService;
@Override
public String otherMethod() {
return someService.someMethod("abc");
}
}
}
我認爲調用someMethod會導致驗證錯誤。爲什麼它不起作用?
只要您使用Bean Validation註釋,方法驗證就應該自動運行。您甚至不必添加(也可能不應該,除非有充分的理由)驗證器工件到耳邊。 Bean驗證由容器提供。這就是說,我不知道爲什麼它不會發生在你的情況。日誌中是否有任何內容(您是否啓用了調試/跟蹤日誌記錄)?有什麼異常? – Hardy
我在日誌文件中沒有任何奇怪的消息。 –