前端之家收集整理的这篇文章主要介绍了
spring boot中表单验证的使用,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一、前言
@H_
404_2@为啥子要搞这个表单验证呢?答案简单而现实,举个栗子,你辛辛苦苦的写了一个录入个人信息的
功能,比如年龄这个位置,
用户就没看到一下子写了个性别男,一提交,直接报错了,是不是很尴尬呢,
@H_
404_2@作为一个测试的同学,我很想说的是,真的是
用户的行为是深不可测的,所以还是加吧。
二、模拟场景
@H_
404_2@记得我还是在上学那会,未满十八岁时不允许去网吧上网的,直到上大学,得用身份证,才让去,无奈呀,寝室的网太卡了~~~~~
@H_
404_2@那么现在我们就模拟年龄为18岁以上的同学,才能去网吧上网。下面我们将结合实例来说明表单的验证使用。
1、修改新增学生接口
@H_
404_2@将传字段值,改为传Student对象,示例
代码如下:
/**
* 新增一个学生
*
* @return
*/
@PostMapping("/studentAdd")
public Student sudentAdd(@Valid Student student,BindingResult bindingResult) {
if(bindingResult.hasFieldErrors()){
//输出错误信息
System.out.println(bindingResult.getFieldError().getDefaultMessage());
return null;
}
student.setName(student.getName());
student.setAge(student.getAge());
student.setSex(student.getSex());
student.setEmail(student.getEmail());
保存和更新都用该方法
return studentResponstory.save(student);
}
2、在实体对象上添加限制
@H_
404_2@使用@MIN来限制输入最小值,具体示例
代码如下:
package com.rongrong.springboot.demo.domain;
import lombok.Data;
javax.persistence.Entity;
javax.persistence.GeneratedValue;
javax.persistence.Id;
javax.validation.constraints.Min;
* @author rongrong
* @version 1.0
* @description:
* @date 2019/12/30 21:24
@Entity
@Data
public class Student {
主键ID
@Id
自增型
@GeneratedValue
private Integer id;
String name;
@Min(value = 18,message = "未满18岁,还没身份证,不能到网吧上网!" Integer age;
String sex;
String email;
Student() {
}
}
3、启动服务
@H_
404_2@
调用接口,
增加一个大于18岁的学生,结果如下:
@H_
404_2@

@H_
404_2@
@H_
404_2@ 再来
修改,
修改年龄为2岁,再来
调用接口,postman返回空,结果如下:
@H_
404_2@

@H_
404_2@
@H_
404_2@ 我们再来看下控制台是否有
提示:
@H_
404_2@

@H_
404_2@
@H_
404_2@
@H_
404_2@到此,关于表单的验证,介绍完毕,有兴趣的同学可以自行尝试。