开发工具:STS

代码下载链接:https://github.com/theIndoorTrain/Springboot/tree/1ef5e597a6f866e73387c0238dbcdf46cfcf39b9

前言:

当我们提交表单时,如何对表单进行快速的过滤校验,Springboot给我们提供了注解方式的校验规则。

下面,我们来简单使用表单验证。

一、简单实例:

1.建立项目:

图片描述

2.添加pojo实体User:

图片描述

图片描述

 package com.xm.pojo;
 
 import javax.validation.constraints.Min;
 
 import org.hibernate.validator.constraints.NotBlank;
 
 public class User {
     @Min(value=10,message="id不可以小于10")
     private int id;
     @NotBlank(message="name不能为空")
     private String name;
     public int getId() {
         return id;
     }
     public void setId(int id) {
         this.id = id;
     }
     public String getName() {
         return name;
     }
     public void setName(String name) {
         this.name = name;
     }
     @Override
     public String toString() {
         return "User [id=" + id + ", name=" + name + "]";
     }
     
 
 }

User.java

3.添加controller:

图片描述

图片描述

 package com.xm.controller;
 
 import java.util.List;
 
 import javax.validation.Valid;
 
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.xm.pojo.User;
 
 @RestController
 public class UserController {
     
     @RequestMapping("/hello")
     public String hello() {
         return "hello spring boot!";
     }
     
     @PostMapping("/user")
     public String addUser(@Valid User user,BindingResult result) {
         if(result.hasErrors()) {
             
              List<FieldError> fieldErrors = result.getFieldErrors();
             for(FieldError error : fieldErrors) {
                 System.out.println(error.getDefaultMessage());
             }
             return fieldErrors.toString();
         }
         return user.toString();
     }
 
 }

UserController.java

4.测试:

图片描述

图片描述

二、校验注解

@Minvalue=数字,代表验证属性最小值
@Maxvalue=数字,代表验证属性最大值
@NotBlank字符串不能为空,且不能为空串,长度为去掉字符串 首尾的长度
@NotEmpty对象不能为空,且size>0
@NotNull对象不能为空,
@Email字符串为邮箱格式

                                                  2018-06-23