• SpringBoot项目中,表单的验证操作


    在创建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格式
  • 相关阅读:
    Python find() 方法
    enumerate函数
    【Unity】项目工程源码
    【Unity】UGUI聊天消息气泡 随文本内容自适应
    Unity读Excel 输出PC端(Windows)后不能读取的问题
    【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其三)
    【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其二)
    【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其一)
    Unity输出PC端(Windows) 拖拽文件到app中
    Android Studio报错Error:Failed to open zip file. Gradle's dependency cache may be corrupt
  • 原文地址:https://www.cnblogs.com/xzmxddx/p/10326154.html
Copyright © 2020-2023  润新知