SpringBoot2 @validated 类型效验
详细参见:《Spring Boot 2精髓:从构建小系统到架构分布式大系统》 第三章 3.5节 验证框架
package com.archibladwitwicke.springboot2.chapter03.pojo; import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null; public class UserValidated { public interface Add {
} public interface Update {
} @NotNull(groups = Update.class)
@Null(groups = Add.class)
private Long id; @NotNull(message = "名字不能为空!")
private String name; @NotNull(message = "年龄不能为空!")
@Max(value = 100, message = "年龄不能大于100岁!")
private String age; public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAge() {
return age;
} public void setAge(String age) {
this.age = age;
}
}
package com.archibladwitwicke.springboot2.chapter03.controller; import com.archibladwitwicke.springboot2.chapter03.pojo.UserValidated;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller
@RequestMapping("/validated")
public class ValidatedController { @RequestMapping("/validateuser")
@ResponseBody
public String validateUser(@Validated UserValidated userValidated, BindingResult bindingResult) {
String result = null; if (bindingResult.getErrorCount() == 0) {
result = "通过验证!";
} List<ObjectError> allErrors = bindingResult.getAllErrors();
for (ObjectError error : allErrors) {
String defaultMessage = error.getDefaultMessage();
System.out.println(defaultMessage);
} return result;
} @RequestMapping("/validateusergroup")
@ResponseBody
public String validateUserByGroup(@Validated({UserValidated.Add.class}) UserValidated userValidated, BindingResult bindingResult) {
String result = null; if (bindingResult.getErrorCount() == 0) {
result = "通过验证!";
} List<ObjectError> allErrors = bindingResult.getAllErrors();
for (ObjectError error : allErrors) {
String defaultMessage = error.getDefaultMessage();
System.out.println(defaultMessage);
} return result;
}
}
SpringBoot2 @validated 类型效验的更多相关文章
- SpringBoot2 @validated 自定义效验类型
项目参考:详细参见:<Spring Boot 2精髓:从构建小系统到架构分布式大系统> 第三章 3.5.3节 自定义校验 项目结构 WorkTime package com.archibl ...
- SpringBoot2 时间类型自动格式化 自动转换
package com.archibladwitwicke.springboot2.chapter03.configurer; import com.archibladwitwicke.springb ...
- C# TextBox中的Validating与Validated事件[转]
validating事件发生的时候,值还没有被真正存入,所以是空的,而validated事件发生的时候,值已经存入,所以能取出:一个相当于值的前因,一个相当于值的后果.也就是说,可以用validati ...
- Springmvc_validation 效验器
springmvc-validation效验器的使用介绍 对于任何一个应用来说,都会做数据的有效性效验,但是只在前端做并不是很安全,考虑到安全性這个时候会要求我们在服务端也对数据进行有效验证,spri ...
- 银行卡所属公司判断 参考自https://blog.csdn.net/well2049/article/details/79429130
在网上找到了一个银行卡的验证,通过阿里的支付宝接口进行校验,能够准确识别是否存在,归属行,卡号类型是储蓄卡(DC)还是信用卡(CC). 接口api:需要传入的2个参数,卡号cardNo和cardBin ...
- 学习TypeScript,笔记一:TypeScript的简介与数据类型
该文章用于督促自己学习TypeScript,作为学笔记进行保存,如果有错误的地方欢迎指正 2019-03-27 16:50:03 一.什么是TypeScript? TypeScript是javasc ...
- 银行卡验证API
一.银联开放平台 https://open.unionpay.com/tjweb/api/detail?apiSvcId=21 应用场景 综合数据服务平台是银联为接入商户提供的综合数据认证服务接口,目 ...
- springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术
知识点梳理 课堂讲义 学习目标 能够阐述表单验证的分类和区别 能够运用表单验证的常用注解 能够编写表单验证的示例 能够编写SSM整合的应用案例 能够总结SSM整合的步骤 1 校验框架 1.1 入门-视 ...
- Spring MVC 文件上传、Restful、表单校验框架
目录 文件上传 Restful Restful 简介 Rest 行为常用约定方式 Restful开发入门 表单校验框架 表单校验框架介绍 快速入门 多规则校验 嵌套校验 分组校验 综合案例 实用校验范 ...
随机推荐
- IDEA快捷键收集
生成set 和get方法 .生产重写方法Alt+Insert 查看类的所有方法alt + 7 去掉多余的引用包alt + ctrl + O ctrl + alt + t 生成try 语句 自动导入包 ...
- springboot 与 mybatis 中事务特性讲解
1 MyBatis自动参与到 spring 事务管理中,无需额外配置,只要org.mybatis.spring.SqlSessionFactoryBean引用的数据源与 DataSourceTrans ...
- LVS:三种负载均衡方式比较+另三种负载均衡方式
转:http://blog.csdn.net/u013256816/article/details/50705578 什么是LVS? 首先简单介绍一下LVS (Linux Virtual Serv ...
- [nginx]location语法
location语法 location语法格式 location [=|~|~*|^~] uri { .... } location [=|~|~*|^~] uri {....} 指令 匹配标识 匹配 ...
- Java 虚拟机:互斥同步、锁优化及synchronized和volatile
互斥同步 互斥同步(Mutual Exclusion & Synchronization)是常见的一种并发正确性保证手段.同步是指子啊多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一 ...
- [Windows Azure]The Autoscaling Application Block
The Autoscaling Application Block 5 out of 6 rated this helpful - Rate this topic ...
- 分布式系统唯一ID生成方案汇总【转】
转自:http://www.cnblogs.com/haoxinyue/p/5208136.html 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结.生成ID的方法有很 ...
- node的http请求
//node的http服务 'use strict' var http = require('http') var server = http.createServer(function (reque ...
- LeetCode: Validate Binary Search Tree 解题报告
Validate Binary Search Tree Given a binary tree, determine if it is a valid binary search tree (BST) ...
- LeetCode: Sum Root to Leaf Numbers 解题报告
Sum Root to Leaf Numbers Given a binary tree containing digits from 0-9 only, each root-to-leaf path ...