开发工具: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.测试:
二、校验注解
@Min | value=数字,代表验证属性最小值 |
---|---|
@Max | value=数字,代表验证属性最大值 |
@NotBlank | 字符串不能为空,且不能为空串,长度为去掉字符串 首尾的长度 |
@NotEmpty | 对象不能为空,且size>0 |
@NotNull | 对象不能为空, |
字符串为邮箱格式 |