- 浏览: 556288 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (145)
- apache-struts (3)
- apache-shiro (4)
- apache-wicket (1)
- spring (34)
- spring-data-jpa (2)
- spring-mvc (20)
- spring-security (1)
- spring-webflow (1)
- hibernate (2)
- mongodb (1)
- ibatis (5)
- mysql (4)
- 开源组件 (18)
- java (3)
- maven (7)
- jBPM (1)
- EJB (1)
- JMS (2)
- servlet / jsp (9)
- javascript / jquery (10)
- 工作技巧 (12)
- ubuntu (6)
- bootstrap (10)
- javaee (1)
- 他山石 (7)
- jetbrick (1)
最新评论
-
yubao2008:
[size=x-small]为什么我也这样试了, 就是没有生效 ...
javax.servlet.http.HttpServletResponse 得到 status_code -
chenrl:
...
SpringMVC杂记(十五) spring-mvc controller 的切面 -
LONGTENGLONG:
你好,这样配置的,得到的集合为空,是什么原因?
apache-shiro杂记(一) 统计在线用户数目 -
xiafengfeiwu:
[flash=200,200][url]引用[/url][/f ...
apache-shiro 学习笔记 -
3108493554:
你好 ,有些问题想请教下,加下我qq310849354,你这上 ...
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
SpringMVC杂记(五) JSR303数据验证
1) 首先JSR303的实现必须加入CLASSPATH
2) SpringMVC 中的配置
3) 关于JSR303给出的默认标注和Hibernate可以参考hibernate-validator官方文档
我的另一篇博客也简要介绍了一下
4) 自己实现验证规则
4.1 自定义元注释
4.2 验证器实现类
4.3 添加国际化支持,让错误信息配置在i18n文件里。SpringMVC配置文件改成如下。
5) 使用标注
6) 效果图
1) 首先JSR303的实现必须加入CLASSPATH
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency>
2) SpringMVC 中的配置
<mvc:annotation-driven validator="validator"/> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
3) 关于JSR303给出的默认标注和Hibernate可以参考hibernate-validator官方文档
我的另一篇博客也简要介绍了一下
4) 自己实现验证规则
4.1 自定义元注释
package com.wicresoft.jpo.demo.validator; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import javax.validation.Constraint; import javax.validation.Payload; @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD}) @Constraint(validatedBy = {BetweenImplForDate.class}) public @interface Between { public String message(); public String startDate(); public String endDate(); public String format() default "yyyy-MM-dd"; public Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; }
4.2 验证器实现类
package com.wicresoft.jpo.demo.validator; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class BetweenImplForDate implements ConstraintValidator<Between, Date> { private static final Logger LOGGER = LoggerFactory.getLogger(BetweenImplForDate.class); private Date startDate; private Date endDate; private DateFormat dateFormat; public void initialize(Between annotation) { this.dateFormat = new SimpleDateFormat(annotation.format()); try { this.startDate = dateFormat.parse(annotation.startDate()); this.endDate = dateFormat.parse(annotation.endDate()); } catch (ParseException e) { throw new IllegalArgumentException(e.getMessage(), e); } } public boolean isValid(Date value, ConstraintValidatorContext context) { LOGGER.debug("value = {}", dateFormat.format(value)); return (startDate.getTime() <= value.getTime()) && (value.getTime() < endDate.getTime()); } }
4.3 添加国际化支持,让错误信息配置在i18n文件里。SpringMVC配置文件改成如下。
v.login.birthday=生日不合法,生日应在{startDate}与{endDate}之间。
<mvc:annotation-driven conversion-service="conversion-service" validator="validator"> <mvc:message-converters register-defaults="false"> <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /> <bean class="org.springframework.http.converter.FormHttpMessageConverter" /> <bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter" /> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> <bean class="org.springframework.http.converter.StringHttpMessageConverter" /> <bean class="com.wicresoft.jpo.demo.http.converter.UTF8StringHttpMessageConverter" /> </mvc:message-converters> </mvc:annotation-driven> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="validationMessageSource" ref="messageSource" /> </bean> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="defaultEncoding" value="UTF-8" /> <property name="basenames"> <list> <value>classpath:com/wicresoft/jpo/demo/i18n/v</value> </list> </property> </bean>
... <tr> <td>生日</td> <td><form:input path="birthday" /></td> <td><form:errors path="birthday" /></td> </tr> ...
5) 使用标注
public class UserRegistForm implements java.io.Serializable { private static final long serialVersionUID = -5471272011192637665L; private String username; private String password; private String sex; @DateTimeFormat(pattern = "yyyy-MM-dd") // message 就是国际化文件中的key @Between(startDate = "1930-01-01", endDate = "2012-12-31", message = "{v.login.birthday}") private Date birthday; private String phoneNumber; private String emailAddress; private List<String> interests = new ArrayList<String>(); // getter and setter }
6) 效果图
- demo.zip (50.6 KB)
- 下载次数: 383
评论
4 楼
richardww123
2012-12-21
谢谢,不错。
3 楼
剑走天涯
2012-09-12
hao
2 楼
qq545485196
2012-06-11
犀利啊
1 楼
huqing2010
2012-04-11
demo 很给力 正需要用一下 thanks!
发表评论
-
SpringMVC杂记(十八) ServletRequestAttributes的应用
2014-02-28 12:38 14148看了一下SpringMVC的源代码,原来SpringMVC也提 ... -
SpringMVC杂记(十七) HandlerMethodArgumentResolver接口应用example
2014-01-24 15:29 12159自从spring3.1 开始就有了这个接口,可以为@Reque ... -
SpringWebflow杂记(一) 框架初探,与SpringMVC的集成
2013-10-23 17:18 1675今日研究了一下SpringWebFlow这个项目,作为Spri ... -
SpringMVC杂记(十六) spring-mvc 与 openid4java
2013-10-12 15:25 3823SpringMVC杂记(十六) spring-mvc 与 op ... -
SpringMVC杂记(十五) spring-mvc controller 的切面
2013-08-01 19:42 6068SpringMVC杂记(十五) spring-mvc cont ... -
Spring集成CXF
2013-06-24 15:53 1530Spring集成CXF 零) jar依赖 <dep ... -
SpringMVC杂记(十四) Ajax方式的JSR303认证
2013-06-13 07:29 4486自己定义一个Exception,用来表示数据绑定失败 im ... -
SpringMVC杂记(十三) 使用FreeMarker作为视图层
2013-06-09 11:55 3355实在没什么好说的,直接上配置文件好了 <bean i ... -
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
2013-06-04 14:04 3160一)最近项目中要求实现Web应用的SSO(Single Sig ... -
通过spring,javamail,和freemarker集成发送HTML方式的电子邮件
2013-05-30 14:02 4830一) 现在项目中用的javamail和org.springfr ... -
SpringMVC杂记(十一) 使用Excel视图
2013-04-06 16:06 6589SpringMVC杂记(十一) 使用Excel视图 一) 其 ... -
Spring集成junit
2012-12-24 10:43 1461package junit; import org. ... -
BootstrapPlugin - daterangepicker 使用笔记
2012-11-13 12:17 21009BootstrapPlugin - daterangepick ... -
SpringMVC杂记(十) 验证码生成
2012-11-06 10:18 2734以前写过一篇关于这个的博客,现在用SpringMVC了,重写一 ... -
SpringMVC杂记(九) 模拟其他类型(非GET,POST)的请求
2012-10-22 10:49 26421) 以前一个小兄弟问我,SpringMVC是否可以使用很多浏 ... -
SpringMVC杂记(八) 使用阿里巴巴的fastjson
2012-07-21 08:27 102381) 国产开源软件要支持的 <dependency& ... -
ActiveMQ学习笔记(二) JMS与Spring
2012-06-24 10:21 7359上文可见,JMS Native API使用起来不是特别方便。好 ... -
我的SpringSecurity实践
2012-04-08 07:49 8919我的SpringSecurity实践 (一) 数据库与实体类 ... -
SpringMVC杂记(七) Jackson与Hibernate LazyLoding无法正常工作解决办法
2012-03-21 13:35 7010SpringMVC杂记(七) Jackson与Hibernat ... -
SpringMVC杂记(六) 下载文件
2012-03-21 09:04 4232SpringMVC杂记(六) 下载文件 1) jar依赖 ...
相关推荐
项目中所需的jar包在压缩包中已提供,项目中用到了JSR303和hibernate-validator的技术,大量采用了注解@NotNull,@Email,@Length,@Max,@Pattern,@Size等,此外还采用了自定义注解,验证信息全部配置在属性文件中.
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项目里面的springmvc以及JSR303数据验证说依赖的jar包,可以方向使用,亲测有效
SpringMVC JSR303数据校验DEMO(附:JSR303的JAR包) SpringMVC JSR303数据校验DEMO(附:JSR303的JAR包)
这是我的这篇博文的源码:SpringMVC与SiteMesh2.4无缝整合并借助JSR303规范实现表单验证,博文地址:http://blog.csdn.net/jadyer/article/details/7574668
一、准备校验时使用的JARvalidation-api-1.1.0.Final.jar:JDK的接口;hibernate-validator-5.2.4.Final.jar是对上述接口的实现;或者在Maven中添加依赖:1.<dependency> 2....//@Email为空字符串默认通过验证
SpringMVC 数据的格式化、JSR 303数据校验和国际化 实例.zip 对应博客:http://blog.csdn.net/peng_hong_fu/article/details/53559773
SpringMVC入门很简单之数据验证,具体参考博文:http://www.cnblogs.com/liukemng/tag/SpringMVC/
本篇文章主要介绍了详解springmvc使用JSR-303进行数据校验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
Spring MVC 数据效验 jar包 :classmate-1.1.0.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,jboss-logging-3.2.1....
本篇文章主要介绍了SpringMVC 使用JSR-303进行校验 @Valid示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JSR303用到的jar包,本人使用的,现分享给大家,希望能给大家带来帮助 classmate-0.8.0.jar hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar jboss-logging-3.1.1...
SpringMVC的服务器端的验证JSR303所需jar包
使用SpringMVC的验证器完成货物入库输入校验。验证入库时间,以及商品价格是否合理等。主要用到的JSR303中:@Past:验证Date和Calender对象是否在当前时间之前。@Pattern:验证String对象是否符合正则表达式的规则。
springmvc注解式控制器的数据验证、类型转换及格式化 SpringMVC数据验证 参数传递
这是JSR303校验的jar包,是Hibernate实现的。很好的支持SpringMVC4.3x版本之后。
SSM(Spring+SpringMVC+MyBatis)多数据源配置框架,精简版
这个能很简单并快捷的配置完成数据校验,提高安全性,并提高开发效率,以及提高系统的安全性以及高效性
hibernate-validator, jboss-logging validation-api等包