SpringMVC數(shù)據(jù)校驗(yàn)
Spring的Validation校驗(yàn)框架
spring自帶Validation校驗(yàn)框架,其中重要的接口和類(lèi)有:
- Validator接口寂诱,有兩個(gè)方法supports()和validate()
- Errors略板,存放錯(cuò)誤信息的接口
- ValidationUtils牛隅,校驗(yàn)工具類(lèi)
- LocalValidatorFactoryBean攀例,該類(lèi)實(shí)現(xiàn)了Spring的Validator接口嘉汰,也實(shí)現(xiàn)了JSR 303的Validator接口
JSR 303校驗(yàn)
JSR 303是java為Bean數(shù)據(jù)合法性校驗(yàn)所提供的一個(gè)標(biāo)準(zhǔn)規(guī)范,叫做Bean Validation摩疑。Bean Validation為JavaBean驗(yàn)證定義了相應(yīng)的元數(shù)據(jù)類(lèi)型和API危融。在應(yīng)用程序中,通過(guò)在Bean屬性上標(biāo)注類(lèi)似@NotNull雷袋、@Max等標(biāo)準(zhǔn)的注解指定校驗(yàn)規(guī)則吉殃,并通過(guò)標(biāo)注的驗(yàn)證接口對(duì)Bean進(jìn)行驗(yàn)證。Bean Validation是一個(gè)可以運(yùn)行時(shí)數(shù)據(jù)驗(yàn)證框架楷怒,在驗(yàn)證之后驗(yàn)證的錯(cuò)誤信息會(huì)被立即返回蛋勺。
需要引入的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>