SpringMVC JSR303校验

SpringMVC JSR303校验
血淋淋的经验
1、导入pom.xml依赖
<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.1.5.Final</version>
</dependency>

这里导入pom依赖有个巨坑,狗日的,折磨我整整一天。这里一定要使用6版本的,一定不要使用7版本的。7版本的无法校验成功(只是因为自己能力不够!!)。

2、在需要验证的pojo对象上,加上需要验证的注解
(注意导入的包,javax.validation.constraints.*;
7版本需要导入的包是jakarta.validation.constraints.*)
package com.peiyuanman.pojo;

import javax.validation.constraints..Email;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;


public class User {

   @NotNull
   private Integer id;

   @NotEmpty
   private String username;

   @NotNull
   private String gender;

   @NotNull
   @Range(min = 1, max = 100)
   private Integer age;

   @NotNull
   @Email
   private String mail;

}
3、 在需要验证的参数前加上注解
import javax.validation.Valid;

public void test(@Valid User user, BindingResult result){
    if (result.hasErrors()){
            Map<String, Object> map = new HashMap<String, Object>();
            List<FieldError> fieldErrors = result.getFieldErrors();
            for (FieldError error : fieldErrors) {
                System.out.println("错误的字段名:"+error.getField());
                System.out.println("错误的信息:"+error.getDefaultMessage());
                map.put(error.getField(), error.getDefaultMessage());
            }
        }else{
        pass;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值