首页 > 其他分享 >@NotBlank注解String字段会报错

@NotBlank注解String字段会报错

时间:2023-10-13 10:48:28浏览次数:40  
标签:String 报错 注解 validation javax NotBlank

一、背景

项目场景:
这里说下@NotEmpty、@NotBlank、@NotNull 的区别:

它们所在的包:javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints.NotNull

1.@NotNull

适用于基本数据类型(Integer,Long,Double,Date等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty)

2.@NotBlank

适用于 String 类型的数据上,加了@NotBlank 注解的参数不能为 Null 且 trim() 之后 size > 0

3.@NotEmpty

适用于 String、Collection集合、Map、数组等等,加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0

二、实现

三、遇到的报错

问题描述
这里使用@NotBlank报错了:
HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.String'. Check configuration for 'xxx'

原因分析:
网上搜了下,@NotBlank支持的是字符串类型字段,所以在基本数据类型(Integer,Long,Double)字段上使用@NotBlank会报以上错误,但是我这里使用的是字符串,也报错了。

后来发现是项目中使用了两个hibernate-validator依赖,一个版本5点几,一个版本6点几。

要想使用@NotBlank,hibernate-validator依赖需要6.0以上,validation-api是2.0以上
————————————————
版权声明:本文为CSDN博主「谢小涛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011974797/article/details/125641648

四、参考博客

标签:String,报错,注解,validation,javax,NotBlank
From: https://www.cnblogs.com/lcaiqin/p/17761517.html

相关文章

  • 一行代码解决a-table当中rowKey报错的问题
    问题描述:在a-table中如果不绑定rowKey则会在控制台报错 解决办法:如果列表中没有返回唯一值,则可以这么写:rowKey='record=>record.id'或者:rowKey="(record,index)=>{returnindex}"> ......
  • 【OSS】存放文件后,网页无法访问,控制台报错无法跨域访问
    来源BNDong/Cnblogs-Theme-SimpleMemory/issues/403用自己的oss(阿里云)存了dist,然后按照https://bndong.github.io/Cnblogs-Theme-SimpleMemory/v2/#/Docs/Guide/cdn这里的教程修改了“博客侧边栏公告”中的内容,控制台出现了报错hasbeenblockedbyCORSpolicy:NO'Access-......
  • git 报错 remote: You are not allowed to upload code
    背景: 尝试推送代码到A仓库时git返回“remote:Youarenotallowedtouploadcode”,其他仓库推送代码正常。 定位: 1. 确认我已拥有仓库权限 2.在其他服务器登录我本人gitlab账号推送代码到A仓库成功 3.其他人可以正常推送代码到A仓库 4.删除gitconfig中的账号......
  • CF938F Erasing Substrings 题解
    ErasingSubstrings一个神奇的想法是设\(f_{i,j}\)表示在位置\([1,i]\)中,我们删去了长度为\(2^k(k\inj)\)的一些串,所能得到的最小字典序。使用二分加哈希可以做到\(O(n^2\log^2n)\),无法承受。发现对于状态\(f_{i,j}\),它已经确定了\(i-j\)位的串,因为所有\(\inj\)......
  • Vue报错Syntax Error:TypeError: this.getOptions is not a function的解决方法~
    前几天在vue运行项目过程中报错了,这个方法是关于Vue报错SyntaxError:TypeError:this.getOptionsisnotafunction的解决方法(1)报错一(2)报错二~1.1问题分析首先,检查代码,并没有什么错误的地方;其次,涉及到这个问题,可能就是版本原因了,安装的sass-loader版本太高,卸载安装低......
  • Python - 深拷贝一个带有指向自身引用的列表,会报错么?紧接着用==比较,会报错么?
    问题描述深拷贝一个带有指向自身引用的列表:列表x中有指向自身的引用,因此x是一个无限嵌套的列表。importcopyx=[1]x.append(x)>>x[1,[...]]y=copy.deepcopy(x)>>y[1,[...]] 深拷贝不报错但是我们发现深度拷贝x到y后,程序并没有出现stackoverf......
  • 【OPCUA】UA_String转为QString
     字符串:UA_String typedef struct{ size_t length; UA_Byte* data;}UA_String; 生成UA_String的API有三个UA_STRING,UA_STRING_ALLOC,UA_STRING_STATICUA_STRING        - 包装现有数据(实际应用中,会有一些莫名其妙的问题)UA_STRING_ALLO......
  • 获取打印机时候报错 RPC 服务不可用
    检查以下几个服务状态是否正常PrintSpoolerRemoteProcedureCall(RPC)RemoteProcedureCall(RPC)LocatorDCOMServerProcessLauncher......
  • pgsql sql语句参数量太多报错
    批量入库pgsql的时候,发现pgsql一次只能传3万多参数,要么改数据库链接url的参数要么分批次的批量插入。 分批次批量插入: 1intlimit;//要切割成多少份2intMAX_NUMBER;//每份最多多少条数据34List<List<Integer>>splitList=Stream.iterate(0,n->n+1).......
  • QT--QString的arg方法
    在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(只是有点类似)。在QT5的帮助文档中,可以看出以下几点:使用arg(str1,str2,str3)这种方法进行替换。使用arg(str1).arg(str2).arg(str3)这种方法进行替换。​使用arg(int, int, int)这种方式进行替换。解释......