SpringMVC數(shù)據(jù)校驗
Spring的Validation校驗框架
spring自帶Validation校驗框架,其中重要的接口和類有:
- Validator接口,有兩個方法supports()和validate()
- Errors,存放錯誤信息的接口
- ValidationUtils,校驗工具類
- LocalValidatorFactoryBean,該類實現(xiàn)了Spring的Validator接口,也實現(xiàn)了JSR 303的Validator接口
JSR 303校驗
JSR 303是java為Bean數(shù)據(jù)合法性校驗所提供的一個標(biāo)準(zhǔn)規(guī)范,叫做Bean Validation。Bean Validation為JavaBean驗證定義了相應(yīng)的元數(shù)據(jù)類型和API。在應(yīng)用程序中,通過在Bean屬性上標(biāo)注類似@NotNull、@Max等標(biāo)準(zhǔn)的注解指定校驗規(guī)則,并通過標(biāo)注的驗證接口對Bean進(jìn)行驗證。Bean Validation是一個可以運行時數(shù)據(jù)驗證框架,在驗證之后驗證的錯誤信息會被立即返回。
需要引入的jar包:
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>6.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<version>6.0.5.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.0.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.1.Final</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>