SpringBoot項目中,表單的驗證操做

在建立Springboot項目中,咱們使用了表單驗證操做,這一操做將極大地簡化咱們編程的開發java

1.接收數據,以及驗證git

@PostMapping("/save") public ModelAndView save(@Valid ProductForm productForm, BindingResult bindingResult, Map<String, Object> map) { //1.表單驗證
        if (bindingResult.hasErrors()) { map.put("msg", bindingResult.getFieldError().getDefaultMessage()); map.put("url", "sell/seller/product/index"); return new ModelAndView("common/error", map); } }

2.實體類註解正則表達式

package com.xiong.sell.form; import lombok.Data; import javax.validation.constraints.NotEmpty; import java.math.BigDecimal; /** * @author Xiong YuSong * 2019/1/27 12:46 */ @Data public class ProductForm { private String productId; /** 名字. */ @NotEmpty(message = "名字必填") private String productName; /** 單價. */
    private BigDecimal productPrice; /** 庫存. */
    private Integer productStock; /** 描述. */ @NotEmpty(message = "描述必填") private String productDescription; /** 小圖. */ @NotEmpty(message = "圖片必填") private String productIcon; /** 類目編號. */
    private Integer categoryType; }

3.下面是表單驗證的全部操做標籤編程

@Null 限制只能爲null @NotNull 限制必須不爲null @AssertFalse 限制必須爲false @AssertTrue 限制必須爲true @DecimalMax(value) 限制必須爲一個不大於指定值的數字 @DecimalMin(value) 限制必須爲一個不小於指定值的數字 @Digits(integer,fraction) 限制必須爲一個小數,且整數部分的位數不能超過integer,小數部分的位數不能超過fraction @Future 限制必須是一個未來的日期 @Max(value) 限制必須爲一個不大於指定值的數字 @Min(value) 限制必須爲一個不小於指定值的數字 @Past 限制必須是一個過去的日期 @Pattern(value) 限制必須符合指定的正則表達式 @Size(max,min) 限制字符長度必須在min到max之間 @Past 驗證註解的元素值(日期類型)比當前時間早 @NotEmpty 驗證註解的元素值不爲null且不爲空(字符串長度不爲0、集合大小不爲0) @NotBlank 驗證註解的元素值不爲空(不爲null、去除首位空格後長度爲0),不一樣於@NotEmpty,@NotBlank只應用於字符串且在比較時會去除字符串的空格 @Email 驗證註解的元素值是Email,也能夠經過正則表達式和flag指定自定義的email格式
相關文章
相關標籤/搜索