java中,如何解决@NotBlank不生效的问题 @NotBlank @NotEmpty不生效,以及对象嵌套问题
这篇文章主要介绍了如何解决@NotBlank不生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。
1.解决@NotBlank不生效
最近做一个新项目,写新接口时发现@NotBlank @NotEmpty不生效,@NotNull则生效,令人费解。仔细检查一下2步骤
用法:
step1、Controller层接口入参处加@Validated注解(org.springframework.validation.annotation包的)
step2、入参对象的属性上加@NotBlank 或@NotEmpty 或 @NotNull --均来自于javax.validation.constraints包下, 三者区别可百度
属性循环嵌套问题,入参对象bean中 属性也为javabean对象,也希望子对象中的属性能够被校验
用法: 在子对象属性上面加@Valid 注解即可
WxCollectUserinfo.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | package com.joolun.system.domain; import com.joolun.common.annotation.Excel; import com.joolun.common.core.domain.BaseEntity; import com.joolun.system.domain.vo.UserVo; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** * 门店信息对象 wx_collect_userinfo * * @author qiaosl * @date 2022-10-03 */ public class WxCollectUserinfo extends BaseEntity { private static final long serialVersionUID = 1L; /** 主键 */ @Excel (name = "主键" ) private Long wcuId; @NotNull (message = "userVo不能为空" ) @Valid private UserVo userVo; /** 门店名称 */ @NotBlank (message = "门店名称不能为空" ) @Excel (name = "门店名称" ) private String storesName; /** 用户名称 */ @NotBlank (message = "姓名不能为空" ) @Excel (name = "用户名称" ) private String userName; /** 门店地址 */ @NotBlank (message = "门店地址不能为空" ) @Excel (name = "门店地址" ) private String storesAddress; /** 手机号码 */ @Excel (name = "手机号码" ) @NotBlank (message = "手机号码不能为空" ) private String userTelnumber; public void setWcuId(Long wcuId) { this .wcuId = wcuId; } public Long getWcuId() { return wcuId; } public void setStoresName(String storesName) { this .storesName = storesName; } public String getStoresName() { return storesName; } public void setUserName(String userName) { this .userName = userName; } public String getUserName() { return userName; } public void setStoresAddress(String storesAddress) { this .storesAddress = storesAddress; } public String getStoresAddress() { return storesAddress; } public void setUserTelnumber(String userTelnumber) { this .userTelnumber = userTelnumber; } public String getUserTelnumber() { return userTelnumber; } public UserVo getUserVo() { return userVo; } public void setUserVo(UserVo userVo) { this .userVo = userVo; } @Override public String toString() { return new ToStringBuilder( this , ToStringStyle.MULTI_LINE_STYLE) .append( "wcuId" , getWcuId()) .append( "storesName" , getStoresName()) .append( "userName" , getUserName()) .append( "storesAddress" , getStoresAddress()) .append( "userTelnumber" , getUserTelnumber()) .append( "createBy" , getCreateBy()) .append( "createTime" , getCreateTime()) .append( "updateBy" , getUpdateBy()) .append( "updateTime" , getUpdateTime()) .append( "remark" , getRemark()) .toString(); } } |
UserVo.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package com.joolun.system.domain.vo; import javax.validation.constraints.NotBlank; public class UserVo { @NotBlank (message = "title不能为空" ) private String title; public String getTitle() { return title; } public void setTitle(String title) { this .title = title; } } |
有任何需要沟通交流的联系
QQ群:276483863
微信扫码:
加好友备注【技术交流】
免费在线流程图、思维导图、专业强大的作图工具,支持多人实时在线协作,可用于原型图、UML、BPMN、网络拓扑图等多种图形绘制 感觉真不错推荐给大家!
勇者无惧,强者无敌。
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端