如何使用Seam自定义Validator for Hibernate Validator的方法验证?

时间:2013-02-04 14:34:12

标签: seam hibernate-validator

我正在使用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();
}

1 个答案:

答案 0 :(得分:0)

您可以尝试使用META-INF/validation.xml配置默认验证器,the one是Seam验证使用的验证器。

或者,您可以根据Seam Validation中的{{3}}创建自己的拦截器,并在那里使用自定义配置的Validator