validation 开始日期 结束日期_Spring Boot集成validation用于优雅的校验API参数的合法性...
validation主要是校验用户提交的数据的合法性,比如是否为空,密码是否符合规则,邮箱格式是否正确等等,校验框架比较多,用的比较多的是hibernate-validator, 也支持国际化,也可以自定义校验类型的注解,这里只是简单的演示校验框架在Spring Boot中的简单集成,要想了解更多可以参考 hibernate-validator
1. pom.xml
org.springframework.boot spring-boot-starter-validation
2. dto
public class UserInfoIDto { private Long id; @NotBlank @Length(min=3, max=10) private String username; @NotBlank @Email private String email; @NotBlank @Pattern(regexp="^((13[0-9])|(15[^4,D])|(18[0,3-9]))d{8}$", message="手机号格式不正确") private String phone; @Min(value=18) @Max(value = 200) private int age; @NotBlank @Length(min=6, max=12, message="昵称长度为6到12位") private String nickname; // Getter & Setter}
3. controller
import org.springframework.validation.BindingResult;import org.springframework.validation.FieldError;@RestControllerpublic class SimpleController { @PostMapping("/users") public String register(@Valid @RequestBody UserInfoIDto userInfoIDto, BindingResult result){ if (result.hasErrors()) { FieldError fieldError = result.getFieldError(); String field = fieldError.getField(); String msg = fieldError.getDefaultMessage(); return field + ":" + msg; } System.out.println("开始注册用户..."); return "success"; }}
4. 常用的约束注解
- @Null 被注释的元素必须为 null
- @NotNull 被注释的元素必须不为 null
- @AssertTrue 被注释的元素必须为 true
- @AssertFalse 被注释的元素必须为 false
- @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
- @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
- @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
- @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
- @Size(max=, min=) 被注释的元素的大小必须在指定的范围内
- @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
- @Past 被注释的元素必须是一个过去的日期
- @Future 被注释的元素必须是一个将来的日期
- @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
- Hibernate Validator 附加的 constraint
- @NotBlank(message =) 验证字符串非null,且长度必须大于0
- @Email 被注释的元素必须是电子邮箱地址
- @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内
- @NotEmpty 被注释的字符串的必须非空
- @Range(min=,max=,message=) 被注释的元素必须在合适的范围内
- @URL(protocol=,host=, port=, regexp=, flags=) 被注释的字符串必须是一个有效的url
- @CreditCardNumber 被注释的字符串必须通过Luhn校验算法,银行卡,信用卡等号码一般都用Luhn计算合法性
- @ScriptAssert(lang=, script=, alias=) 要有Java Scripting API 即JSR 223 (“Scripting for the JavaTM Platform”)的实现
- @SafeHtml(whitelistType=, additionalTags=) classpath中要有jsoup包
validation 开始日期 结束日期_Spring Boot集成validation用于优雅的校验API参数的合法性...相关推荐
- 关于datediff(year,开始日期,结束日期)中year格式的说明,特别注意year两边不能加引号,否则报错...
关于datediff(year,开始日期,结束日期)中year格式的说明,特别注意year两边不能加引号,否则报错 如果要计算两个时间是否满意年,可以相减,最小365,润年366天.求整 转载于:ht ...
- java beetl模板引擎_Spring Boot集成beetl模板引擎 个人总结
1. Spring boot快速集成beetl模板引擎 查看官方文档:http://ibeetl.com/guide/#beetl 可参看官方文档 4.6. Spring Boot集成 增加beetl ...
- Android 自定义日期段选择控件,开始日期-结束日期。
开发中碰到个需求,需要在一个控件中选择完成开始和结束日期.实现的过程走的是程序员开发的老路子,找到轮子后自己改吧改吧就成了.去年做的找不到参考的文章连接了,请原博主见谅. 当时做的时候有几个需求:1. ...
- 通过开始日期结束日期算请假天数
在实体中两个Date属性的变量加上注解. 加注解后得到的startDate为YYYY-MM-DD格式 @DateTimeFormat(pattern = SimpleDateUtil.COMMON_D ...
- 小程序 机票火车票酒店 开始日期结束日期选择 日历组件
github:https://github.com/xiaoyangyang-code/calendar 码云:https://gitee.com/xiaoyang688/calendar ##先看一 ...
- shell 开始日期 结束日期循环
shell 日期循环 #!/bin/sh if [ $# == 2 ]; thendatebeg=$1dateend=$2 elseecho "请输入开始时间和结束日期,格式为2017-04 ...
- idea swagger生成接口文档_spring boot集成Swagger-UI接口文档
本文介绍如何用spring boot集成Swagger-UI,实现项目在线接口文档 一.Swagger-UI简介 Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 官网对Swa ...
- spring boot 缓存_Spring Boot 集成 Redis 实现数据缓存
Spring Boot 集成 Redis 实现数据缓存,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作. 在这个例子中我使用的是 Redis,其实缓存类型还有很多,例如 Ecache. ...
- springboot 单测加入参数_Spring Boot集成Elasticsearch实战分享
作者|java梦想口服液|简书 最近有读者问我能不能写下如何使用 Spring Boot 开发 Elasticsearch(以下简称 ES) 相关应用,今天就讲解下如何使用 Spring Boot 结 ...
- springboot dubbo引入包_spring boot 集成 dubbo 企业完整版
一.什么是Spring Boot ? 现阶段的 Spring Boot 可谓是太火了,为什么呢?因为使用方便.配置简洁.上手快速,那么它是什么?从官网上我们可以看到,它是 Spring 开源组织下的一 ...
最新文章
- 如何识别未使用的CSS定义[关闭]
- 2020年10月GitHub上最热门的开源项目
- Xcode7 项目转 Xcode6 时 出现问题
- Hyperledger Fabric 词汇表
- 关于ftp的功能类——下载,上传,断点,连接
- 如何在Windows上使用64位Web浏览器
- opensource项目_最佳Opensource.com:硬件
- ES6 学习笔记 (1)
- 《Image Effects 》第一章学习笔记(2)
- Qt环境搭建(Visual Studio)
- [渝粤教育] 西南科技大学 英语写作 在线考试复习资料
- 此文已删除,为何删不掉?
- 父与子一起学python3_父与子的编程之旅(与小卡特一起学Python第3版全彩印刷)/图灵程序设计丛书...
- [zz]明月虽好by 王大根 from 豆瓣
- <论文阅读>CRaft
- 参观营收上亿的私域流量企业
- BufferedInputStream。。。。。。。BufferedReader和BufferedWriter
- 将一个数的每一位都正序输出——简单算法
- (个人笔记) java 打印不了韩文,乌龙事件
- groupByKey与reduceByKey区别