在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发
1.接收数据,以及验证
@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格式
原文地址:https://www.cnblogs.com/xzmxddx/p/10326154.html
时间: 2024-10-28 16:54:16