Tag: bean validation

从另一个类的静态方法初始化Spring bean?

我试图创buildHibernate Validator bean,并遇到这个问题,从另一个类的静态工厂方法创build一个bean。 我发现Spring方法让我的Validator bean初始化(解决scheme在底部),但问题本身仍然没有解决。 此处使用Validator作为示例。 这是我如何在Java中创buildValidator实例 import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); 这是我尝试在applicationContext.xml中创buildbean的方式 <bean id="validatorFactory" class="javax.validation.ValidatorFactory" factory-method="javax.validation.Validation.buildDefaultValidatorFactory" /> <bean id="validator" class="javax.validation.Validator" factory-bean="validatorFactory" factory-method="getValidator" /> 我所理解的是,在“工厂方法”中,只能访问在“class”参数中定义的类中定义的静态方法。 由于方法buildDefaultValidatorFactory()是静态的,我不能创build一个Validation的实例,并将其作为validatorFactory的“factory-bean”,如下所示: <bean id="validation" class="javax.validation.Validation" /> <bean id="validatorFactory" class="javax.validation.ValidatorFactory" factory-bean="validation" factory-method="buildDefaultValidatorFactory" /> 这结束了错误消息 “检查具有指定名称的方法是否存在并且是非静态的 ” 问题是你如何在Spring的这种情况下创buildbean? 这就是我解决Validator问题的方法: <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>

对原始集合的Hibernatevalidation

我希望能够做到这样的事情: @Email public List<String> getEmailAddresses() { return this.emailAddresses; } 换句话说,我希望列表中的每个项目都被validation为一个电子邮件地址。 当然,注释这样的集合是不可接受的。 有没有办法做到这一点?

Bean Validation @NotNull,@NotBlank和@NotEmpty在JSF + Tomcat中不起作用

我在我的JSF托pipebean中使用Hibernate Validation注解。 当我使用@NotBlank @NotEmpty , @NotBlank或@NotEmpty他们似乎并没有以任何方式触发。 @NotBlank(message = "{name.required}") public String name; 视图: <h:outputLabel value="Name:" /> <h:inputText id="name" value="#{person.name}" size="20" /> <h:message for="name" style="color:red" /> 这是如何造成的,我该如何解决?