1.單獨使用Hibernate-validator和Apache BVal
1)Apache BVal
@NotNull private Integer num; public Validator getValidatorFactory() { ValidatorFactory avf = Validation.byProvider(HibernateValidator.class).configure().buildValidatorFactory(); return avf.getValidator(); } Set<ConstraintViolation<T>> errorSet = getValidatorFactory().validateValue(t, "num",num , true));
2)Hibernate-validator
@NotNull private Integer num; public Validator getValidatorFactory() { ValidatorFactory avf = Validation.byProvider(ApacheValidationProvider.class).configure().buildValidatorFactory(); return avf.getValidator(); } Set<ConstraintViolation<T>> errorSet = getValidatorFactory().validateValue(t, "num",num , true));
ConstraintViolation里面是@NotNull的驗證不通過信息,當然驗證注解不止這么一個,都可以這樣驗證
2.spring boot自帶Hibernate-validator,要想使用Apache BVal
<!-- 數據驗證 Validator bean --> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.apache.bval.jsr.ApacheValidationProvider" /> </bean>