Java 使用spring validation 参数校验

本文详细介绍了Java中用于字段验证的注解,包括@NotNull、@Null、@Size等,并提供了实体类Person的具体示例,展示了如何在控制器中使用@Valid进行参数验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

validation 使用参考:https://blog.youkuaiyun.com/u013815546/article/details/77248003

2.
原文 : https://blog.youkuaiyun.com/u014786171/article/details/75050271

 

@NotNull

使用该注解的字段的值不能为null,否则验证无法通过。 
实体类代码:

@Entity
@Data
public class Person {

    @Id
    @GeneratedValue
    private Integer id;

    @NotNull(message = "name不能为空")
    private String name;

    private Integer age;

}

在控制器接受参数时,添加@Valid注解,例如:

public String indexUI(@Valid Person person, BindingResult result)

可以通过BindingResult对象获取相关的错误提示。


其他验证的注解

  • @Null 
    修饰的字段在验证时必须是null,否则验证无法通过。

  • @Size 
    如下代码表示,修饰的字段长度不能超过5或者低于。

    @Size(min = 1, max = 5)
    private String name;
  • @Max 
    如下代码表示,该字段的最大值为19,否则无法通过验证。
    @Max(value = 19)
    private Integer age;
  • @Min 
    同理,被该注解修饰的字段的最小值,不能低于某个值。

  • @AssertFalse 
    该字段值为false时,验证才能通过。

  • @AssertTrue 
    该字段值为true时,验证才能通过。

  • @DecimalMax 
    验证小数的最大值。

    @DecimalMax(value = "12.35")
    private double money;
  • @DecimalMin 
    验证小数的最小值。

  • @Digits 
    验证数字的整数位和小数位的位数是否超过指定的长度。

   @Digits(integer = 2, fraction = 2)
    private double money;
  • @Future 
    验证日期是否在当前时间之后,否则无法通过校验。
    @Future
    private Date date;
  • @Past 
    验证日期是否在当前时间之前,否则无法通过校验。

  • @Pattern 
    用于验证字段是否与给定的正则相匹配。

    @Pattern(regexp = "[abc]")
    private String name;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值