springmvc提供了灵活的可拓展的校验方式,根据不同的项目可选择适合的校验方式,首先介绍下springmvc中内置的校验实现方式!

1、实现 org.springframework.validation.Validator;接口

2、public boolean supports(Class<?> clazz),public void validate(Object target, Errors errors) 实现接口下的两个方法,

3,具体实现方式:

@Override

    public boolean supports(Class<?> clazz)

    {

        return this.getClass().equals(clazz);

    }



@Override

    public void validate(Object target, Errors errors)

    {

        ValidationUtils.rejectIfEmpty(errors, "name", "name.empty");

        MyValidation p = (MyValidation) target;

        if (p.name.length() < 10)

        {

            errors.rejectValue("name", "用户名长度需要大于等于10!");

        }

        System.out.println("-------校验完成====" + errors.hasErrors());

    }

ValidationUtils是个很好用的工具类,实现了大部分通用的方法。

4.使用自定义校验时,我们的controller需要设置initBinder

@InitBinder

    protected void initBinder(WebDataBinder binder)

    {

        binder.setValidator(new MyValidation());//设置为自定义校验类

    }

public String validate(@Validated MyValidation validate,

            BindingResult result)

    {

        if (result.hasErrors())

        {

            log.info("有错误");

            log.info("错误信息为:" + result.getFieldError("name") + ":"

                    + result.getFieldValue("name"));

        }

        log.info("没有错误!" + validate);

        return "index";

    }

注意使用@Validated而不是@Valid

springmvc 校验---spring校验的更多相关文章

  1. springmvc的数据校验

       springmvc的数据校验 在Web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对数据进行验证,输入验证分为客户端验证与服务器端验证. 客户端验证主要通过javaScript脚本 ...

  2. 实用———springmvc接收参数校验

    https://www.cnblogs.com/funyoung/p/8670550.html https://www.cnblogs.com/monkeydai/p/10068547.html He ...

  3. springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术

    知识点梳理 课堂讲义 学习目标 能够阐述表单验证的分类和区别 能够运用表单验证的常用注解 能够编写表单验证的示例 能够编写SSM整合的应用案例 能够总结SSM整合的步骤 1 校验框架 1.1 入门-视 ...

  4. springmvc(四) springmvc的数据校验的实现

    so easy~ --WH 一.什么是数据校验? 这个比较好理解,就是用来验证客户输入的数据是否合法,比如客户登录时,用户名不能为空,或者不能超出指定长度等要求,这就叫做数据校验. 数据校验分为客户端 ...

  5. SpringMVC学习(三)———— springmvc的数据校验的实现

    一.什么是数据校验? 这个比较好理解,就是用来验证客户输入的数据是否合法,比如客户登录时,用户名不能为空,或者不能超出指定长度等要求,这就叫做数据校验. 数据校验分为客户端校验和服务端校验 客户端校验 ...

  6. SpringMVC由浅入深day02_4springmvc校验

    4 springmvc校验 4.1 校验Validation理解 b/s系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可 ...

  7. SpringMVC的@Validated校验注解使用方法

    validate会对参数进行校验,校验标准为validate后的类中的标准.本例中对User进行校验,User类中设置了校验标准. 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参 ...

  8. SpringMVC和Spring

    SpringMVC和Spring汇总 转载:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1. 为什么使用Spring ? 1). 方便解耦, ...

  9. 【SSM 1】SpringMVC、Spring和Struts的区别

    导读:近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和 ...

随机推荐

  1. [腾讯云]简单在腾讯云 CenTOS7.0 安装Nginx,Mysql(MariaDB),Memcache,解析PHP!

    1.安装LNMP之前要安装EPEL,以便安装源以外的软件,如Nginx,phpMyAdmin等. yum install epel-release 2.安装Nginx a) yum install n ...

  2. python数据分析工具——Pandas、StatsModels、Scikit-Learn

    Pandas Pandas是 Python下最强大的数据分析和探索工具.它包含高级的数据结构和精巧的工具,使得在 Python中处理数据非常快速和简单. Pandas构建在 Numpy之上,它使得以 ...

  3. redis的5种数据类型

    卸载服务:redis-server --service-uninstall 开启服务:redis-server --service-start 停止服务:redis-server --service- ...

  4. 超详细步骤---Linux下的最新Git版本安装

    原文地址:https://blog.csdn.net/u010887744/article/details/53957613 [标注大头] 1.查看当前git版本:git --version 查看最新 ...

  5. 作业九——DFA最小化,语法分析初步

  6. Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机

    一.Tomcat体系结构 从conf/server.xml可体现Tomcat的体系.一个Server可有多个service,一个service可以有多个连接器connector,每个连接器暴露出不同的 ...

  7. 网速慢?NO可能是路由器的原因?

    先排除DNS的问题:看这个! 为什么我家300M的网,而且wifi信号满格,还是网速很慢? 这时候不排除是路由器的原因! 第一步首先我们要知道自己家的网关IP: 什么是网关? 网关(Gateway)又 ...

  8. python(while 循环语句)

    一.循环语句 1.while 循环 当我们在 python 中需要重复执行一些动作的时候,这时我们就要用到循环 while 循环的结构,当条件成立的时候,就会执行里面的代码 while 循环不断的运行 ...

  9. python基础入门教程(一条龙服务)

    一.语言基础 01-1 计算机系统 解释器下载 变量   小整数池 01-2 垃圾回收机制 02 数据类型 运算符(解压赋值等) 03 流程控制 if while for 04 整形 字符串 列表 0 ...

  10. Linux安装Git-两种方式详细教程)

    一.Git介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器.Linus Torvalds 是这样给我们介绍 Git 的. Git 是用于 Linux内核开发 ...