spring boot中表单验证的使用
一、前言
为啥子要搞这个表单验证呢?答案简单而现实,举个栗子,你辛辛苦苦的写了一个录入个人信息的功能,比如年龄这个位置,用户就没看到一下子写了个性别男,一提交,直接报错了,是不是很尴尬呢,
作为一个测试的同学,我很想说的是,真的是用户的行为是深不可测的,所以还是加吧。
二、模拟场景
记得我还是在上学那会,未满十八岁时不允许去网吧上网的,直到上大学,得用身份证,才让去,无奈呀,寝室的网太卡了~~~~~
那么现在我们就模拟年龄为18岁以上的同学,才能去网吧上网。下面我们将结合实例来说明表单的验证使用。
1、修改新增学生接口
将传字段值,改为传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、在实体对象上添加限制
使用@MIN来限制输入最小值,具体示例代码如下:
package com.rongrong.springboot.demo.domain; import lombok.Data; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import 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;
private String name;
@Min(value = 18,message = "未满18岁,还没身份证,不能到网吧上网!")
private Integer age;
private String sex;
private String email;
public Student() {
}
}
3、启动服务
调用接口,增加一个大于18岁的学生,结果如下:

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

我们再来看下控制台是否有提示:

到此,关于表单的验证,介绍完毕,有兴趣的同学可以自行尝试。
spring boot中表单验证的使用的更多相关文章
- Spring Boot 表单验证、AOP统一处理请求日志、单元测试
一.使用@Valid表单验证 于实体类中添加@Min等注解 @Entity public class Girl { @Id @GeneratedValue private Integer id; pr ...
- spring boot 表单验证
1 设置某个字段的取值范围 1.1 取值范围验证:@Min,@Max ① 实例类的属性添加注解@Min ② Controller中传入参数使用@Valid注解 1.2 不能为空验证:@NotNull ...
- Spring进行表单验证
转自:https://www.tianmaying.com/tutorial/spring-form-validation 开发环境 IDE+Java环境(JDK 1.7或以上版本) Maven 3. ...
- HTML5中表单验证的8种方法(转)
在深人探讨表单验证之前,让我们先思考一下表单验证的真实含义.就其核心而言,表单验证是一套系统,它为终端用户检测无效的控件数据并标记这些错误.换言之,表单验证就是在表单提交服务器前对其进行一系列的检查并 ...
- HTML5中表单验证的8种方法
HTML5中表单验证的8种方法 2012-4-21 11:00| 发布者: benben| 查看: 2765| 评论: 0 摘要: 前一篇,我们介绍了HTML5中新的表单特性和函数, 今天就继续来谈谈 ...
- Kotlin + Spring Boot 请求参数验证
编写 Web 应用程序的时候,经常要做的事就是要对前端传回的数据进行简单的验证,比如是否非空.字符长度是否满足要求,邮箱格式是否正确等等.在 Spring Boot 中,可以使用 Bean Valid ...
- miniui中表单验证规则总结
页面链接: http://www.miniui.com/demo/#src=form/rules.html 页面效果图: 页面代码: <!DOCTYPE html PUBLIC "-/ ...
- Spring Boot (31) 数据验证
曾经参数的验证是这样的: public String test(User user){ if(user == null){ throw new NullPointerException("u ...
- spring boot+jwt 权限验证
上周看了一下jwt以前公司的开发都是使用session共享的方法.现在主流的两种方式一种是把登录信息保存在服务器,另一种则是把信息保存在客户端.在使用session 存储的时候会遇到很多的问题,随着项 ...
随机推荐
- Notepad++颜色配置
目前看着比较顺眼的notepad++配置,记录如下:
- CF1054F Electric Scheme
CF1054F Electric Scheme 其实没啥的. 离散化后,每行每列选择一个. 但是可能会相交 每行或每列相邻两个点成为一小段. 小段按照行列左右部点 小段有交,连inf边,每个s-左, ...
- Refs
一.The ref callback attribute ref:reference,父组件引用子组件 组件并不是真实的 DOM节点,而是存在于内存之中的一种数据结构,叫做虚拟DOM.只有当它插入文档 ...
- jar包运行
配置mainClass: <plugin> <groupId>org.apache.maven.plugins</gr ...
- 洛谷P3178 [HAOI2015]树上操作 题解 树链剖分+线段树
题目链接:https://www.luogu.org/problem/P3178 这道题目是一道树链剖分的模板题. 但是在解决这道问题的同事刷新了我的两个认识: 第一个认识是:树链剖分不光可以处理链, ...
- 2019-3-8-win10-uwp-渲染原理-DirectComposition-渲染
title author date CreateTime categories win10 uwp 渲染原理 DirectComposition 渲染 lindexi 2019-03-08 09:18 ...
- 2018-6-11-WPF-Frame-的-DataContext-不能被-Page-继承
title author date CreateTime categories WPF Frame 的 DataContext 不能被 Page 继承 lindexi 2018-06-11 10:48 ...
- H3C PAP验证配置示例
- Python--day61--Django ORM关系的简单梳理
models.py中的代码和数据库中的表对应
- TensorFlow指定使用GPU 多块gpu
持续监控GPU使用情况命令: $ watch -n 10 nvidia-smi1一.指定使用某个显卡如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台服务器 ...