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

  • 相关阅读:
    教你怎么做游戏运营数据分析
    经验|数据分析告诉我们的四个经验教训
    hdu 2074 叠筐 好有意思的绘图题
    asp 之 让实体中字段类型为DateTime的字段仅仅显示日期不显示时间
    将字符串中不同字符的个数打印出来
    Cocos2d-x 3.0final 终结者系列教程08-画图节点Node中的锚点和坐标系
    mysql数据库sql优化——子查询优化
    jQuery ajax 动态append创建表格出现不兼容ie8
    JavaScript关于闭包
    PatternSyntaxException:Syntax error in regexp pattern
  • 原文地址:https://www.cnblogs.com/xinglongbing521/p/10209934.html
Copyright © 2011-2022 走看看