01 spring boot读取配置信息
02 多环境配置
03 处理全局异常
04 spring boot admin
05 spring mvc + mybatis
前面一篇说了spring mvc 和mybatis一起完成数据库的访问。今天我们在上次project的基础上面针对数据进行校验,这里要做的很简单,就是校验输入的名字和年龄不能为空。这种功能在平时工作中经常遇到,大家就当温故知新了。废话不多说,开始。
定义校验
实体类上面打上annotation的标签,指明哪些字段是不能为空的。
![1e8b9a9aa147aad826dad3095b21c324.png](https://i-blog.csdnimg.cn/blog_migrate/2bd57746d476ccc7a384651544fbb89e.jpeg)
并且把validation提示的错误信息写在了message里面,代码如下
@NotBlank(message = "用户名不能为空")private String name;@NotBlank(message = "年龄不能为空")private Integer age;
应用校验
在调用controller的方法输入参数的地方加入Valid的annotation,并且把校验以后的结果通过BindingResult参数返回给方法。在方法内部判断校验是否通过了,这里用到了hasErrors方法判断。实际上是在调用方法传入参数的时候先检验了Users参数是否满足校验条件。
![ccc1e8b232e2ae71847d7563b9fe2338.png](https://i-blog.csdnimg.cn/blog_migrate/305ec495e019c5d55bca1e943c226eb7.jpeg)
这里需要注意的是,如果没有通过校验的话BindingResult参数会把Validate 的message 回传到调用方。这个消息会在html页面上面显示出来。同时在ShowPage中也要把Users 作为传入的参数。
@RequestMapping("/{page}")public String showPage(@PathVariable String page, Users users) { return page;}@RequestMapping("/addUser")public String addUser(@Valid Users users, BindingResult result) { if (result.hasErrors()){ return "input"; } this.usersService.addUser(users); return "ok";}
测试结果
浏览器输入 http://localhost:9099/users/addUser ,在没有输入任何值的情况下,点击“确定”。
![086338542e7358c660f75ed16909e487.png](https://i-blog.csdnimg.cn/blog_migrate/ecc026ea0f1712c11f3298b040936944.jpeg)
看到错误信息。
搞定收工,喜欢的点个关注,谢谢各位,886