在控制层controller中@NotEmpty和@NotBlank的用法

1、添加依赖(缺一不可)

        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>

2、添加控制层代码(注意@Validated注解、注意是下文中的包)

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;


@RestController
@RequestMapping("/test")
@Validated
public class TestController {

    @GetMapping("/null")
    public String nullAndEmpty(@NotBlank(message = "不可为blank") String blank, @NotEmpty(message = "不可为empty") String empty) {
        System.out.println(blank);
        System.out.println(empty);
        return blank + "-" + empty;
    }

}

3、访问controller,传值观测

http://localhost:8080/test/null?blank&empty

报错:javax.validation.ConstraintViolationException: nullAndEmpty.empty: 不可为empty, nullAndEmpty.blank: 不可为blank

 

http://localhost:8080/test/null?blank= &empty=

(注:都为空格)

报错:javax.validation.ConstraintViolationException: nullAndEmpty.blank: 不可为blank

 

http://localhost:8080/test/null?blank=1&empty=1

无报错

由此可知:@NotBlank注解禁止字符串内容仅含空格或长度为0

                  @NotEmpty注解禁止字符串内容长度为0

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,@Valid和@NotEmpty是用于数据校验的注解。@Valid注解用于标记需要进行数据校验的对象,而@NotEmpty注解用于标记字段不能为空。 如果在使用@Valid和@NotEmpty注解时发现不生效,可能有以下几个原因: 1. 未引入相关依赖:在使用数据校验注解时,需要引入相关的依赖包。在Java,常用的数据校验框架是Hibernate Validator,因此需要引入相关的依赖,例如在Maven项目可以添加以下依赖: ```xml <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.2.0.Final</version> </dependency> ``` 2. 未配置校验器:在使用@Valid注解时,需要配置校验器。可以通过在Spring Boot项目添加以下配置来启用校验器: ```java @Configuration public class ValidationConfig { @Bean public Validator validator() { return Validation.buildDefaultValidatorFactory().getValidator(); } } ``` 3. 未开启校验功能:在使用@Valid注解时,需要确保校验功能已经开启。可以通过在Controller类或方法上添加@Validated注解来开启校验功能: ```java @RestController @Validated public class UserController { @PostMapping("/user") public void addUser(@Valid @RequestBody User user) { // 处理用户添加逻辑 } } ``` 如果以上步骤都已正确配置,但仍然发现@Valid和@NotEmpty注解不生效,可能是因为其他原因导致的。可以提供更多的代码或错误信息,以便更好地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值