zoukankan      html  css  js  c++  java
  • 验证注解总结

    Java校验
    用于处理我们提交的表单的数据的一些长度或者限制非空,注解的包是javax.validation.constraints

    添加的maven依赖

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
    </dependency>

    注解    描述
    @AssertFalse    所注解的元素必须是Boolean类型,且值为false
    @AssertTrue    所注解的元素必须是Boolean类型,且值为true
    @DecimalMax    所注解的元素必须是数字,并且它的值要小于会等于给定的BigDecimalString值
    @DecimalMin    所注解的元素必须是数字,并且它的值要大于会等于给定的BigDecimalString值
    @Digits    所注解的元素必须是数字,且值必须有指定位数
    @Future    所注解的元素的值必须是一个将来的时间
    @Max    所注解的元素必须是数字,并且它的值要小于或等于给定的值
    @Min    所注解的元素必须是数字,并且它的值要大于或等于给定的值
    @NotNull    所注解的元素必须不能为null
    @Null    所注解的元素必须为null
    @Past    所注解的元素的值必须是一个已过去的日期
    @Pattern    所注解的元素的值必须匹配给定的正则表达式
    @Size    所注解的元素的值必须是String、集合或数组,并且它的长度要符合给定的范围
    做一个测试:

    假设我们有一个test类:

    import javax.validation.constraints.Max;
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;

    public class Test {
        /**
         * username 不为空 长度在5-16个字符之间
         * password 不为空 长度在8-16个字符之间
         * number 不为空 大小在0-100之间
         */
        @NotNull
        @Size(min = 5, max = 16)
        private String username;

        @NotNull
        @Size(min = 8, max = 16)
        private String password;

        @NotNull
        @Max(100)
        @Min(0)
        private int number;
    }
    接下来就需要配置controller控制器了

    我们需要接受一个test的类型

    import Test;
    import org.springframework.stereotype.Controller;
    import org.springframework.validation.Errors;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;

    import javax.validation.Valid;

    @Controller             // 声明一个控制器
    @RequestMapping
    public class HomeController {
        @RequestMapping("/submit")
        public String submit(@Valid Test test, Errors errors){
            if(errors.hasErrors()){
                return "failed"; //如果提交的表单数据不符合校验规则就返回失败
            }
            return "success";//符合规则 就成功
        }
    }
    //@Valid 是告诉Spring 需要确保这个对象满足校验限制

    1@Valid @RequestParam("title") String title,可以多个注解修饰参数,并没有限制,

    2message是如果没有满足注解的条件,前端就会返回message中的信息和@valid搭配使用,不然不能验证

    3可以自定义校验validtor规则

    额`wq[[;q.w''d.eq

  • 相关阅读:
    数据结构之双向链表
    数据结构入门之链表(C语言实现)
    机器人操作臂运动学入门一--D-H参数标定
    机器学习--逻辑回归
    python字符串方法的简单使用
    python学习之网页数据获取
    《机器学习实战》学习笔记一K邻近算法
    杂事
    洛谷 P1926 小书童——刷题大军
    洛谷 P1968 美元汇率
  • 原文地址:https://www.cnblogs.com/xinglongbing521/p/10209934.html
Copyright © 2011-2022 走看看