@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注解


你可能感兴趣的:(Java基础,注解,空值判断,java)