我有以下环境:
现在我尝试实现方法参数的自动验证:
@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会导致验证错误。为什么不工作?
答案 0 :(得分:0)
从您的EAR文件中删除hibernate验证程序。当你以这种方式嵌入它时,自动注册将无法正常工作。你需要使用他们的CDI扩展来注册它。
答案 1 :(得分:0)
我自己解决了问题。有必要在bean实现的类级别添加@ValidateOnExecution - SomeServiceBean