java 实体类校验_实体类的验证

本文介绍了Java中使用@Valid进行实体类校验的方法,包括在实体类字段上添加@Min等注解,以及在Controller中使用@Valid和BindingResult处理校验结果。同时,对比了@Valid和@Validated的区别,详细阐述了JSR303提供的各种校验注解,如@NotNull、@NotEmpty、@NotBlank等,并给出了使用示例。在实际应用中,需要注意不同注解的适用场景,避免出现验证异常。
摘要由CSDN通过智能技术生成

@Valid注解用于校验,所属包为:javax.validation.Valid。

① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Girl类中的属性):

@Min(value = 18,message = "未成年禁止入内")

private Integer age;

② 其次在controller层的方法的要校验的参数上添加@Valid注解,并且需要传入BindingResult对象,用于获取校验失败情况下的反馈信息,如下代码:

@PostMapping("/girls")

public Girl addGirl(@Valid Girl girl, BindingResult bindingResult) {

if(bindingResult.hasErrors()){

System.out.println(bindingResult.getFieldError().getDefaultMessage());

return null;

}

return girlResposity.save(girl);

}

bindingResult.getFieldError.getDefaultMessage()用于获取相应字段上添加的message中的内容,如:@Min注解中message属性的内容

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.比较

@Valid是使用hibernate validation的时候使用

@Validated 是只用spring  Validator 校验机制使用\

2.实现

其中,@valid,java的jsr303声明了这类接口,hibernate-validator对其进行了实现

3.依赖

在使用maven框架整合时,需要引入的依赖部分如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

javax.validation

validation-api

1.1.0.Final

org.hibernate

hibernate-validator

5.2.1.Final

48304ba5e6f9fe08f3fa1abda7d326ab.png

4.JSR303定义的校验类型

48304ba5e6f9fe08f3fa1abda7d326ab.png

空检查

@Null 验证对象是否为null

@NotNull 验证对象是否不为null, 无法查检长度为0的字符串

@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.

@NotEmpty 检查约束元素是否为NULL或者是EMPTY.

Booelan检查

@AssertTrue 验证 Boo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值