利用validation实现spring 表单的数据验证
2016-08-04 00:03
225 查看
对于表单的验证一直是个难的问题,看别人的代码发现了,可以用alidate jar 与hibernate-alidate jar来实现验证,可以对表单数据进行封装,然后给spring mvc controller上加上@Valid对字段进行验证,如何配置:需要validate jar ,hibernate alidate jar ,jboss-logging jar ,classmate jar需要在springmvc 的配置中加上alidate的配置加上如下内容:
<mvc:annotation-driven validator="validator" conversion-service="conversion-service" />
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<!--不设置则默认为classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="validatemessageSource"/>
</bean>
<bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />
<bean id="validatemessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:validatemessages"/>
<property name="fileEncodings" value="utf-8"/>
<property name="cacheSeconds" value="120"/>
</bean>
给要验证的属性上加上@NotNull验证非空,@NotBlank验证是否为空字符串,@Pattern(regexp="^1[3|4|5|7|8]{1}[0-9]{9}$",message="手机号错误")正则表达式验证。
controller上如下:例如:
@RequestMapping("/userget.json")
@ResponseBody
public String getUser(@Valid User user,Errors error){
System.out.println("name="+user.getName()+",phone="+user.getPhone()+";");
if(error.hasErrors()){
for(int i=0;i<error.getErrorCount();i++){
System.out.println("message="+error.getAllErrors().get(i).getDefaultMessage());
}
return error.getAllErrors().get(0).getDefaultMessage();
} else {
return null;
}
}
就这样搞定了。
<mvc:annotation-driven validator="validator" conversion-service="conversion-service" />
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<!--不设置则默认为classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="validatemessageSource"/>
</bean>
<bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />
<bean id="validatemessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:validatemessages"/>
<property name="fileEncodings" value="utf-8"/>
<property name="cacheSeconds" value="120"/>
</bean>
给要验证的属性上加上@NotNull验证非空,@NotBlank验证是否为空字符串,@Pattern(regexp="^1[3|4|5|7|8]{1}[0-9]{9}$",message="手机号错误")正则表达式验证。
controller上如下:例如:
@RequestMapping("/userget.json")
@ResponseBody
public String getUser(@Valid User user,Errors error){
System.out.println("name="+user.getName()+",phone="+user.getPhone()+";");
if(error.hasErrors()){
for(int i=0;i<error.getErrorCount();i++){
System.out.println("message="+error.getAllErrors().get(i).getDefaultMessage());
}
return error.getAllErrors().get(0).getDefaultMessage();
} else {
return null;
}
}
就这样搞定了。
相关文章推荐
- SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存,利用Spring托管,并完成reload功能
- jQuery插件Validation验证表单实现javascript表单智能验证功能
- django 表单数据的验证实现原理
- 利用userData实现客户端保存表单数据
- MVC3学习第七章 排山倒海第三变----利用MVC3实现数据验证以及完成用户数据的编辑
- jQuery插件Validation验证表单实现javascript表单智能验证功能
- Ajax的常用技巧(1)----实现表单数据验证
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- 利用userData实现客户端保存表单数据
- 利用IPSec实现网络安全之三完结篇(身份验证和加密数据)
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- ASP.NET MVC Preview 5 演示Demo #7 实现JQuery表单数据验证及JQuery操作Html元素
- 利用vb向网页提交表单数据的实现代码
- 利用ASP和XML实现客户端多表单域数据动态更新
- 利用userData实现客户端保存表单数据
- 利用vb向网页提交表单数据的实现代码
- 利用userData实现客户端保存表单数据
- 利用jquery实现表单验证
- 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法