@NotBlank注解不生效解决方法
·
@NotBlank用于字符串的空值空串校验。
但是在实体类属性A中加上注解后,Controller层的外部调用实体类,前端传参时,不传属性A,仍然可以反序列化成功,@NotBlank无效。
当@NotBlank注解用于实体类的某个属性时,Controller层的实体对象前,要搭配@Valid注解使用。
问题就是加了,也没有效果。
版本问题,适当的升高或降低校验依赖的版本。
我们引入的一般是这两个常用的:
Java 和 Hibernate
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
通过修改版本,基本上百分百可以解决问题。
如果还是不行,试一下奇葩的解法(有效)。
1、实体类中@NotBlank注解使用hibernate下的,Controller中@Valid使用java下的。
import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.NotBlank;
2、Controller类上边加上@Validated注解。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)