`
ear
  • 浏览: 2701 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sprig-MVC中如何使用验证框架

阅读更多
数据验证,包括客户端验证(js|jq)+服务器验证(java),客户端验证能够提供更好的体验,但是不够安全。永远不要将验证寄托于客户端验证。服务器端验证才永远安全!

spring-MVC的验证:
springmvc 和 hibernate-validation验证框架的整合
首先要根据spring的版本导入不同版本的hibernate-validation的jar包

  springmvc 3.x
    hibernate-validator-4.1.0.Final.jar
    validation-api-1.0.0.GA.jar
    jboss-logging-3.1.0.GA.jar


  springmvc 4.x

    classmate-1.3.1.jar
    hibernate-validator-5.3.1.Final.jar
    jboss-logging-3.3.0.Final.jar
    validation-api-1.1.0.Final.jar

hibernate-validation验证框架所提供的关于验证的注解

       * @Null   被注释的元素必须为 null      
       * @NotNull    被注释的元素必须不为 null      
       * @AssertTrue     被注释的元素必须为 true      
       * @AssertFalse    被注释的元素必须为 false      
       * @Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值      
       * @Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值      
       * @DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值      
       * @DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值      
       * @Size(max=, min=)   被注释的元素的大小必须在指定的范围内      
       * @Digits (integer, fraction)     被注释的元素必须是一个数字,其值必须在可接受的范围内      
       * @Past   被注释的元素必须是一个过去的日期      
       * @Future     被注释的元素必须是一个将来的日期      
       * @Pattern(regex=,flag=)  被注释的元素必须符合指定的正则表达式      
       * Hibernate Validator 附加的 constraint      
       * @NotBlank(message =)   验证字符串非null,且长度必须大于0      
       * @Email  被注释的元素必须是电子邮箱地址      
       * @Length(min=,max=)  被注释的字符串的大小必须在指定的范围内      
       * @NotEmpty   被注释的字符串的必须非空      
       * @Range(min=,max=,message=)  被注释的元素必须在合适的范围内
       * @URL(protocol=,host,port)//检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供的条件

验证的使用步骤

  1>.导入验证相关的jar包

  2>.在实体类的相应属性上添加注解

        @NotBlank(message="商品名称不能为空")
private String goodsName;

@NotNull(message="商品价格不能为空")
@DecimalMin(value="0", message="价格不能小于0")
private Double price;

@Min(value=0, message="库存数量不能小于0")
private Integer storage;
3>.在springmvc的控制器方法上,添加注解和参数

        @RequestMapping(value="/add", method=RequestMethod.POST)
public String add(@Validated @ModelAttribute("goods") Goods goods, BindingResult validResult){

if(validResult.hasFieldErrors()==true){
return "goods/add";
}


goods.setGoodsId(generateGoodsId());

goodsList.add(goods);
return "redirect:list";
}

        注意:BindingResult参数必须紧跟被验证的参数
分享到:
评论

相关推荐

    网上书城 spring-mvc

    《网上书城 Spring-MVC》项目是基于Spring-MVC框架构建的一个典型电子商务平台,它展示了如何使用Spring-MVC来实现高效、灵活的Web应用程序开发。Spring-MVC是Spring框架的一部分,专门用于处理Web层的业务,提供了...

    spring-mvc-4.2.xsd.zip

    Spring MVC是Spring框架的一个核心模块,用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,使得开发者可以将业务逻辑、数据展示和用户界面分离,从而实现更清晰、可维护的代码结构。在Spring MVC中,`xsd...

    spring-mvc-官方中文文档

    Spring MVC 是 Spring 框架的一个重要组成部分,用于构建基于 Java 的 Web 应用程序。这个官方中文文档详细地介绍了如何使用 Spring MVC 来开发高效、可维护的 MVC(Model-View-Controller)架构的应用。Spring MVC ...

    简单-利用Spring-MVC框架开发项目实例

    在本教程中,我们将深入探讨如何使用Spring-MVC框架来开发一个简单的项目实例。Spring-MVC是Spring框架的一个模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构支持。它使得开发者可以将业务逻辑、数据访问...

    spring-mvc-study.zip

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。在本项目"spring-mvc-study.zip"中,我们可以深入理解并实践Spring MVC的核心概念和技术。 首先,Spring MVC是Spring...

    spring-mvc-showcase

    在"spring-mvc-showcase"项目中,Spring MVC提供了方便的测试支持,如MockMvc,可以模拟HTTP请求并验证Controller的响应。此外,日志和调试工具也能帮助开发者跟踪和定位问题。 综上所述,"spring-mvc-showcase...

    最全最经典spring-mvc教程

    Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...

    spring-web-5.2.3.RELEASE和spring-webmvc-5.2.3.RELEASE

    Spring Web模块和Spring Web MVC模块是Spring框架中的两个关键组成部分,它们在构建Web应用程序时起着至关重要的作用。 Spring Web模块(spring-web-5.2.3.RELEASE.jar)主要负责提供Web相关的功能支持,包括HTTP...

    translation-spring-mvc-4-documentation, Spring MVC 4.2.4 RELEASE 中文文档完整翻译稿.zip

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。这个压缩包"translation-spring-mvc-4-documentation, Spring MVC 4.2.4 RELEASE 中文文档完整翻译稿.zip"包含了Spring MVC 4.2.4版本的官方文档...

    spring.jar spring-webmvc-struts.jar spring-webmvc.jar

    标题中的"spring.jar"、"spring-webmvc-struts.jar"和"spring-webmvc.jar"都是Spring框架相关的Java库文件,通常以.jar结尾的文件是Java的归档文件,包含了类、资源和元数据,用于Java应用程序的运行。这些文件在...

    spring-aop-3.0.xsd spring-beans-3.0 spring-context-3.0.xsd spring-mvc-3.1.xsd

    Spring 框架是 Java 开发中的核心框架之一,它为构建可维护、模块化的应用程序提供了强大的支持。在提供的信息中,我们关注的是 Spring 的一些关键组件和它们对应的 XML 配置文件,这些文件通常用于定义和管理 ...

    SSM框架样例(spring,spring-mvc,mybatis)

    SSM框架,全称为Spring、Spring-MVC和MyBatis,是Java开发Web应用时常用的三大框架集成。这个"SSM框架样例"提供了一个基础的学习平台,旨在帮助初学者理解这三个框架如何协同工作,以及如何在实际项目中进行集成。 ...

    Spring-mvc-showcase

    1. **Maven 构建系统**:Spring-mvc-showcase 使用 Maven 进行项目构建和管理,通过在 pom.xml 文件中定义依赖关系,可以轻松地集成 Spring MVC 及其相关库,如 Spring Core、Spring Web MVC、Jackson JSON 处理库等...

    spring-mvc 官方实例

    Spring MVC 是 Spring 框架的一个重要组成部分,用于构建基于模型-视图-控制器(Model-View-Controller)架构的Web应用程序。这个官方实例“spring-mvc-showcase”旨在为开发者提供一个清晰的理解和实践Spring MVC...

    spring-mvc+mybatis+mysql简单实例

    在Web开发中,Spring-MVC、MyBatis和MySQL的组合是常见的技术栈,它们为构建高效、可维护的Web应用程序提供了强大的支持。本实例将深入探讨这三者如何协同工作,以实现数据的增删查改(CRUD)操作。 首先,Spring-...

    mdeinum-pro-spring-mvc-code

    在这个过程中,Spring MVC提供了丰富的自定义点,如拦截器(Interceptor)可以扩展处理逻辑,数据绑定和验证可以确保输入的有效性,异常处理机制可以优雅地管理错误情况。 在"mdeinum-pro-spring-mvc-code"项目中,...

    spring-web.jar spring-webmvc.jar

    在本讨论中,我们将深入探讨两个核心组件——`spring-web.jar`和`spring-webmvc.jar`,它们在Spring MVC框架中扮演着关键角色。 首先,`spring-web.jar`是Spring框架的Web层组件,它提供了与Web相关的功能。这个库...

    Spring-MVC+Spring-IOC+Spring-JdbcTemple

    标题“Spring-MVC+Spring-IOC+Spring-JdbcTemple”揭示了这个项目或教程是关于如何集成并使用Spring框架的三个核心模块:Spring MVC、Spring IOC(Inversion of Control,控制反转)以及Spring JDBC Template。...

    spring-mvc-jquery.zip_jquery_mvc jquery_spring jquery_spring mvc

    在IT行业中,Spring MVC和jQuery是两个非常重要的技术框架,它们在Web开发中扮演着关键角色。本项目“spring-mvc-jquery.zip”是关于如何将Spring MVC 3.0框架与jQuery进行整合的一个示例,旨在帮助开发者理解这两者...

Global site tag (gtag.js) - Google Analytics