`

JSR-303

 
阅读更多

JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator。
此实现与Hibernate ORM 没有任何关系。JSR 303 用于对Java Bean 中的字段的值进行验证。

Spring MVC 3.x之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。

JSR 303内置的约束规则:

@AssertTrue / @AssertFalse

  • 验证适用字段:boolean
  • 注解说明:验证值是否为true / false
  • 属性说明:-


@DecimalMax / @DecimalMin

  • 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
  • 注解说明:验证值是否小于或者等于指定的小数值,要注意小数存在精度问题
  • 属性说明:公共


@Digits

  • 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
  • 注解说明:验证值的数字构成是否合法
  • 属性说明:integer:指定整数部分的数字的位数。fraction: 指定小数部分的数字的位数。


@Future / @Past

  • 验证适用字段:Date,Calendar
  • 注解说明:验证值是否在当前时间之后 / 之前
  • 属性说明:公共


@Max / @Min

  • 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
  • 注解说明:验证值是否小于或者等于指定的整数值
  • 属性说明:公共


@NotNull / @Null

  • 验证适用字段:引用数据类型
  • 注解说明:验证值是否为非空 / 空
  • 属性说明:公共


@Pattern

  • 验证适用字段:String
  • 注解说明:验证值是否配备正则表达式
  • 属性说明:regexp:正则表达式flags: 指定Pattern.Flag 的数组,表示正则表达式的相关选项。


@Size

  • 验证适用字段:String,Collection,Map,数组
  • 注解说明:验证值是否满足长度要求
  • 属性说明:max:指定最大长度,min:指定最小长度。


@Valid

  • 验证适用字段:引用类型
  • 注解说明:验证值是否需要递归验证
  • 属性说明:无



---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 


使用Spring MVC 和 JSR-303的标注做表单提交的服务器端验证时,
@Valid 标注的Command对象和BindingResult参数一定要紧挨着。要不然
数据绑定错误直接抛异常,不会封装成一个BindingResult对象。

	@RequestMapping(value="/login", method=RequestMethod.POST)
	public String login(@Valid User user, BindingResult br, Map<String, Object> model) {
		if (br.hasErrors()) {
			return "login";
		}
		return "redirect:/salary/list.do";
	}

 

分享到:
评论

相关推荐

    JSR-303接口标准和参考实现

    JSR-303接口标准,全称为Java Specification Request 303,是Java平台上的一个规范,旨在提供一种统一的、与框架无关的bean验证框架。该标准由Java Community Process(JCP)提出,目的是简化Java应用中的数据验证...

    SpringMVC使用JSR-303进行验证Bean.docx

    更多详细信息可以参考相关的博客文章,例如[张开涛的博客](http://jinnianshilongnian.iteye.com/blog/1990081)和[这篇关于JSR303校验类型的博客](http://www.cnblogs.com/rocky-AGE-24/p/5245022.html)。...

    服务器验证JSR-303

    JSR-303的发布使得在数据自动绑定和验证变得简单,使开发人员在定义数据模型时不必考虑实现框架的限制。

    Spring jsr-303的帮助文档

    ### Spring JSR-303帮助文档:Bean Validation 核心知识点详解 #### 一、简介 **JSR-303(Java Specification Request 303)** 是 Java 平台上的一种数据验证标准,其核心是 **Bean Validation**。这一规范由 **...

    23 Spring Core参数校验之JSR303_JSR-349注解-慕课专栏1

    Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了高效且易于维护的验证机制。 JSR 303最初定义了JavaBean验证的标准,而JSR 349是其修订版,主要增加了对...

    JSR303依赖的jar包

    validator-5.2.4.Final.jar、hibernate-validator-annotation-processor-5.2.4.Final.jar、hibernate-validator-cdi-5.2.4.Final.jar、validation-api-1.1.0.Final.jar四个jar包,用于JSR303的校验。

    springmvc表单验证JSR-303验证框架jar包

    hibernate-validator-5.2.4.Final.jar hibernate-validator-annotation-processor-5.2.4.Final.jar hibernate-validator-cdi-5.2.4.Final.jar validation-api-1.1.0.Final.jar jboss-logging-3.2.1.Final.jar ...

    SpringMVC 使用JSR-303进行校验 @Valid示例

    JSR-303是Java Specification Requests之一,是一种用于Java的Bean验证规范。它定义了一套元数据模型和API,用于在Java Bean上进行声明式验证。 使用SpringMVC结合JSR-303进行数据校验的流程一般包括以下几个步骤:...

    springmvc使用JSR-303进行数据校验实例

    而JSR-303数据校验是Java社区规范(Java Specification Request)的一部分,该规范定义了一种基于注解的校验机制,被广泛应用于数据校验领域。SpringMVC结合JSR-303可以实现对数据的有效验证,确保接收到的数据是...

    jetty-maven-cdi-demo:有关如何一起设置和使用resteasy,swagger,weld,jsr-303和jetty的演示应用程序

    Resteasy资源中的JSR-303验证 Swagger JAX-RS扫描 Swagger在端点上提供其余文档 轻松灵活地处理JAX-RS子资源 要运行该应用程序,只需键入 $ mvn jetty:run 启动应用程序后,您可以在或。 这里最困难的部分是说服大...

    验证器:验证器组件提供了一些工具,可以根据JSR-303 Bean验证规范来验证值

    JSR-303(Java Specification Request 303)是Java世界中用于对象验证的标准,它的目标是提供一种标准的方式来定义和执行数据验证。尽管是Java规范,但Symfony的验证器组件很好地实现了这一规范,使得PHP开发者也能...

    hibernamte_validator_4.3_final.zip

    《深入理解Hibernate-validator及其在JSR-303中的应用》 Hibernate-validator是Java世界中一个强大的验证框架,它在JSR-303规范的基础上提供了丰富的注解和灵活的验证逻辑,使得开发者能够轻松地对输入数据进行验证...

    hibernate-validator-5.1.0.zip

    SpringMVC框架结合JSR-303标准,利用Hibernate Validator实现了强大的验证功能。本文将详细探讨`hibernate-validator-5.1.0.zip`这个包在SpringMVC中的应用,以及其在数据校验中的关键知识点。 一、Hibernate ...

    jsr 303 jar包下载

    按照课件推荐下载,准确有效,包括(hibernate-validator-4.3.2.Final.jar;jboss-logging-3.1.0.CR2.jar;validation-api-1.1.0.Alpha1.jar和jsr303约束文档)

    validation-api-1.1.0.Final.jar

    JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,现在一共有两个规范:BeanValidation1.0(即JSR303)和BeanValidation1.1(即JSR349),主要用于对数据进行校验,确保输入进来的数据从语 义上来讲是正确的。...

    佟刚_JSR303验证.

    JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是 Hibernate Validator。 此实现与 Hibernate ORM 没有任何关系。JSR 303 用于对 Java Bean 中的字段的值 进行验证。

    jsf2-jsp-portlet-3.1.3-ga4.zip

    1. 生成bean验证注释的jaxb插件(jsr-303):这个插件可以在生成的Java类中自动添加JSR-303的验证注解,如`@NotNull`, `@Size`, `@Pattern`等,使得在编译时就能检查对象的有效性,提高代码质量。 2. 用于生成bean...

    HibernateValidatorJSR303的参考实现使用指南.pdf

    JSR 303 的参考实现 使用指南 由 Hardy Ferentschik和Gunnar Morling and thanks to Shaozhuang Liu 4.3.1.Final 版权 © 2009 - 2011 Red Hat, Inc. & Gunnar Morling June 20, 2011 序言 1. 开始入门 1.1. 第一...

    bval-jsr303-0.4.jar

    jar包,亲测可用

    gwt-bean-validators-0.22.0.zip

    《GWT Bean验证器:JSR-303/349在服务器端的应用》 GWT(Google Web Toolkit)是一种强大的开发工具,用于构建高性能的JavaScript应用程序。它允许开发者使用Java语言进行编码,然后自动编译为优化的JavaScript代码...

Global site tag (gtag.js) - Google Analytics