Spring Boot中 @Valid无效

如果是spring boot项目,一定要在pom.xml文件中引入以下依赖包:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

不要用以下方式引用依赖包,会无效的!!!!!!必须是上面那种

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>8.0.0.Final</version>
</dependency>

以下贴上测试代码:

实体类

package com.gdss.ruralrevitalization.model;

import lombok.Data;
import javax.validation.constraints.Max;


//分页实体类
@Data
public class PageModel {
    @Max(value = 1)
    private int current;  //当前页
    @Max(value = 100)
    private int size; //数量
}

Controller类,通过BindingResult 查看是否有报错信息,需要写在@Valid参数后面

    @GetMapping("/getList")
    public ResultModel getList(@Valid PageModel page,BindingResult result){
        ResultModel resultModel=new ResultModel();
        IPage<UserViewBaseModel> lstEntity =administrativeAreasService.getListPage(searchModel,new Page(page.getCurrent(), page.getSize()));
        resultModel.setData(lstEntity);
        return  resultModel;
    }

猜你喜欢

转载自blog.csdn.net/liyayou/article/details/127735597