1. 程式人生 > >通過javax.validation.constraints下的註解實現欄位驗證

通過javax.validation.constraints下的註解實現欄位驗證

@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;