我正在使用Hibernate Validator并添加了一些自定义验证注释,资源包位置和自定义消息插补器。这一切都是通过在引导时自定义Validator来完成的。
现在我正在尝试验证方法,但当然我没有得到我配置良好的Validator,因为为@AutoValidating
注入了标准Validator。
如何在Seam验证中自定义验证器?
以下是我创建验证器的方法:
public static javax.validation.Validator getBeanValidator(final Locale locale,
final ResourceBundle... resourceBundles) {
HibernateValidatorConfiguration configuration = Validation.byProvider(HibernateValidator.class).configure();
FallbackResourceBundleLocator resourceBundleLocator = new FallbackResourceBundleLocator(
configuration.getDefaultResourceBundleLocator(), resourceBundles);
configuration.messageInterpolator(new FieldMessageInterpolator(locale, resourceBundleLocator));
javax.validation.ValidatorFactory validatorFactory = configuration.buildValidatorFactory();
return validatorFactory.getValidator();
}
答案 0 :(得分:0)
您可以尝试使用META-INF/validation.xml配置默认验证器,the one是Seam验证使用的验证器。
或者,您可以根据Seam Validation中的{{3}}创建自己的拦截器,并在那里使用自定义配置的Validator
。