Hibernate Validator利用注解进行数据验证
配置文件spring-config.xml
<!-- 配置消息属性文件 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 资源文件名 -->
<property name="basenames">
<list>
<value>/WEB-INF/resource/errorMessages</value>
</list>
</property>
<!-- 资源文件编码格式 -->
<property name="fileEncodings" value="utf-8" />
<!-- 对资源文件内容缓存的时间,单位为秒 -->
<property name="cacheSeconds" value="120" />
</bean>
<!-- 注册校验器 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!-- hibernate 校验器 -->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
<!-- 指定校验使用的资源文件,在文件中配置校验错误信息,如果不指定则默认使用 classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="messageSource" />
</bean>
<!--开启 Spring的 Valid 功能 -->
<mvc:annotation-driven conversion-service="conversionService" validator="validator"/>
Hibernate Validator注解
package pojo;
import jakarta.validation.constraints.*;
import org.hibernate.validator.constraints.Length;
import java.util.ArrayList;
import java.util.Date;
public class student {
@NotNull
private String id;
@NotBlank
private String name;
@NotEmpty(message = "student.info.age")
private String age;
@AssertTrue
private boolean up;
@AssertFalse
private boolean down;
@Size(min = 0,max = 3)
private ArrayList<String> clothes;
@Length(min = 0,max = 3)
private String score;
@Past(message = "gdate.invalid")
private Date loginDate;
@Future(message = "gdata.invalid")
private Date exitDate;
@Min(value = 18,message = "未成年人禁止入内")
private int minAge;
@Max(value = 33,message = "年龄超限")
private int maxAge;
}