电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

spring 注解驗證@NotNull等使用方法

瀏覽:64日期:2023-09-04 16:41:32

本文介紹了spring 注解驗證@NotNull等使用方法,分享給大家,具體如下:

常用標簽

@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(value) 被注釋的元素必須符合指定的正則表達式。@Email 被注釋的元素必須是電子郵件地址@Length 被注釋的字符串的大小必須在指定的范圍內@NotEmpty 被注釋的字符串必須非空@Range 被注釋的元素必須在合適的范圍內

example :vo 頁面傳過來的數據進行校驗inferface : 只是作為標記一個組別 可以在vo驗證的某個字段上面加入多個組別,這樣沒有加入的組別就不會驗證這個字段controller: 需要 加入 @Validated (GroupInterface1.class) //GroupInterface1.class是定義的分組 GroupInterface2.class 需要校驗的字段是不會驗證的

VO:

public class User implements Serializable { /** * 主鍵 */ @NotNull(message = 'primary is not null',groups = {GroupInterface1.class}) private Long id; @Pattern(regexp = '[0123456789]',groups = {GroupInterface1.class,GroupInterface2.class},message = 'hava a error Date') private Long maxDiscountAmount; @JsonFormat(pattern = 'yyyy-MM-dd HH:mm:ss', timezone = 'GMT+8') private Date createTime; @Future(message = 'expireTime is not less than now',groups = {GroupInterface1.class,GroupInterface2.class}) @NotNull(message = 'expireTime is not null',groups = {GroupInterface1.class,GroupInterface2.class}) private Date expireTime;}

另外一個例子:

import java.util.Date;import javax.validation.constraints.DecimalMax;import javax.validation.constraints.DecimalMin;import javax.validation.constraints.Email;import javax.validation.constraints.Future;import javax.validation.constraints.Max;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import javax.validation.constraints.Size;import org.hibernate.validator.constraints.Range;import org.springframework.format.annotation.DateTimeFormat;/**** imports ****/public class ValidatorPojo { // 非空判斷 @NotNull(message = 'id不能為空') private Long id; @Future(message = '需要一個將來日期') // 只能是將來的日期 // @Past //只能去過去的日期 @DateTimeFormat(pattern = 'yyyy-MM-dd') // 日期格式化轉換 @NotNull // 不能為空 private Date date; @NotNull // 不能為空 @DecimalMin(value = '0.1') // 最小值0.1元 @DecimalMax(value = '10000.00') // 最大值10000元 private Double doubleValue = null; @Min(value = 1, message = '最小值為1') // 最小值為1 @Max(value = 88, message = '最大值為88') // 最大值88 @NotNull // 不能為空 private Integer integer; @Range(min = 1, max = 888, message = '范圍為1至888') // 限定范圍 private Long range; // 郵箱驗證 @Email(message = '郵箱格式錯誤') private String email; @Size(min = 20, max = 30, message = '字符串長度要求20到30之間。') private String size; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public Double getDoubleValue() { return doubleValue; } public void setDoubleValue(Double doubleValue) { this.doubleValue = doubleValue; } public Integer getInteger() { return integer; } public void setInteger(Integer integer) { this.integer = integer; } public Long getRange() { return range; } public void setRange(Long range) { this.range = range; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getSize() { return size; } public void setSize(String size) { this.size = size; } /**** setter and getter ****/}

此時controller應該要加上@Valid ,否則不會驗證!

/*** * 解析驗證參數錯誤 * @param vp —— 需要驗證的POJO,使用注解@Valid 表示驗證 * @param errors 錯誤信息,它由Spring MVC通過驗證POJO后自動填充 * @return 錯誤信息Map */ @RequestMapping(value = '/valid/validate') @ResponseBody public Map<String, Object> validate( @Valid @RequestBody ValidatorPojo vp, Errors errors) { Map<String, Object> errMap = new HashMap<>(); // 獲取錯誤列表 List<ObjectError> oes = errors.getAllErrors(); for (ObjectError oe : oes) { String key = null; String msg = null; // 字段錯誤 if (oe instanceof FieldError) { FieldError fe = (FieldError) oe; key = fe.getField();// 獲取錯誤驗證字段名 } else { // 非字段錯誤 key = oe.getObjectName();// 獲取驗證對象名稱 } // 錯誤信息 msg = oe.getDefaultMessage(); errMap.put(key, msg); } return errMap; }

到此這篇關于spring 注解驗證@NotNull等使用方法的文章就介紹到這了,更多相關spring 注解驗證 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 搪玻璃冷凝器_厂家-越宏化工设备| 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 双效节能浓缩器-热回流提取浓缩机组-温州市利宏机械 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 | 万家财经_财经新闻_在线财经资讯网 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 仓储笼_仓储货架_南京货架_仓储货架厂家_南京货架价格低-南京一品仓储设备制造公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 |