Bootstrap

Spring MVC之表单验证

1. JSR303注解验证

JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现,Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint
注解验证所需的jar包:
validation-api-1.1.0. Final.jar
hibernate-validator-5.2.0.Final.jar

Spring提供了对Bean的功能验证,通过注解@Valid表明哪个Bean需要启动注解式的验证

验证注解的定义:

注解 详细信息
@Null 被注解元素必须为null
@NotNull 被注释的元素必须不为null
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
@Min(value) 备注是的元素必须为一个数字,其值必须大于等于指定的最小值
@Max 被注释的元素必须为一个数字,其值必须小于等于指定的最大值
@DecimalMin 被注的元素必须为一个数字,其值必须大于等于指定的最小值
@DecimalMax 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max,min) 被注释的元素必须在指定的范围之内
@Digits(integer,faction) 被注释的元素是一个数字,必须在可接受的范围之内
@Past 被注释的元素必须是一个过去的元素
@Future 被注释的元素必须是一个将来的元素
@Pattern 被注释的元素必须符合指定的正则表达式

案例:
使用控制器完成表单的验证:

package com.controller;
@Controller
public class ValidateController {
   

	@RequestMapping("/annotation")
	public ModelAndView annotationValidate(@Valid Transaction trans ,Errors errors) {
   
		//是否存在错误
		if(errors.hasErrors()) {
   
			//获取错误信息
			List<FieldError> errorList = errors.getFieldErrors();
			for (FieldError error : errorList) {
   
				//打印错误字段信息
				System.out.println(
;