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

  • 相关阅读:
    Win10如何关闭自动更新服务
    Windows10 【系统周期表】【系统下载表】【大型软件表】
    Win10如何设置开机自动登录
    Win10《芒果TV》发布两周年纪念特别献礼,陪你度国庆,好礼送不停
    Win10《芒果TV》商店版更新v3.7.0卡牌版:为小冰生日献礼,为秋季创意者更新铺路
    Win10《芒果TV
    Win10《芒果TV》更新v3.6.0秋收版:新增追剧磁贴、记忆续播、跳转列表
    Win10《芒果TV》更新v3.5.2星玥版:修复电视台直播异常,优化添加下载提示
    Win10《芒果TV》更新v3.5.0夏至版:会员尊享蓝光画质,关联本地视频播放
    [Cocos2d-x for WP8学习笔记] 获取系统字体
  • 原文地址:https://www.cnblogs.com/xinglongbing521/p/10209934.html
Copyright © 2011-2022 走看看