`

Spring-Validator 配置

阅读更多

Spring-Validator 的主要意图是为 Spring MVC 提供简洁、可配置的,实现类似于Struts的验证机制,提高 Spring 的开发效率。
主要功能是
使用配制文件,
1. 提供 Spring 客户端验证机制;
2. 提供 Spring 服务器端通用的可配置的验证;

如果大家有兴趣,请到 http://sourceforge.net/projects/js-validation/ 下载,里边有例子,建议大家先看看例子(或者看struts-validator的那个例子也可以,效果差不多)。

下边,我将具体说明
1. 客户端的使用
2. 服务器端的使用

由于配置文件和struts中相同,且struts是如此的流行、广泛,所以不说配制文件的编写了,请查看struts的相关资料(只需修改使用dist下的validator-rules.xml、validation.xml即可)

1. 客户端的使用 原理呢,就是通过读取配制,在JSP页面中生成相应的javascript,然后点击submit的时候,Alert出相应的信息(虽然很多人讨厌这种方式,但这是最快最直接应用最广的方式,P:个人感觉,没有数据依据)。
具体的过程呢,当然先是开发页面和程序,然后想到要加入验证机制,如姓名不能为空,生日必须是 yyyy-mm-dd等,还强烈的想看到客户在提交后被弹出对话框吓一跳,那么,我们开始吧,嘿嘿
首先,配置先行了,在validation.xml中声明需要验证的form。

其次,在 -servlet.xml中,声明apachValidatorResolvers 
<bean >
<property >
<value>validator-rules.xml,validation.xml</value>
</property>
</bean>
bean的id不一定非叫 apachValidatorResolvers,看自己习惯了。它用途是初始化配置,需要指定validator-rules.xml,validation.xml的位置,由于犯懒,同时也为了显示它的用途,没有提供默认值。

然后,声明 javascriptValidator 
<bean />
同样,id不做要求。它的主要是为生成所需的javascript,提供给taglib或者interceptor或者其他。

最后,就是JSP的修改了。 加入对验证taglib的声明
<%@ taglib prefix="vld" uri="http://www.avidmouse.com/tags"%>
在适当的位置(form后边),加入taglib引用 
<vld:validate validationName="registrationForm" page="0"/>
page 默认值是0,所以page="0"可以省略

好了,enjoy it。

2. 服务器端的使用 原理呢,实现org.springframework.validation.Validator,提供一个通用的validator。
具体过程,和客户端的差不多,在需要添加验证时
首先,在validation.xml中声明需要验证的form。

其次,在 -servlet.xml中,声明apachValidatorResolvers

<bean >
<property >
<value>validator-rules.xml,validation.xml</value>
</property>
</bean>

然后,为需要进行验证的form声明一个验证bean 
<bean >
<property >
<ref local="apachValidatorResolvers"/>
</property>
<property ><value>com.avidmouse.validator.simple.bus.RegistrationForm</value></property>
<property ><value>RegistrationForm</value></property>
<property ><value>0</value></property> 
</bean>
formClass就是SimpleFormController的commandClass
validatorName就是在配制中声明的form名称
page 默认值是0,如果是0 ,可以不声明。

最后,声明需要验证的bean的validator为上一步声明的bean
<bean >
<property ><value>true</value></property>
<property ><value>com.avidmouse.validator.simple.bus.RegistrationForm</value></property>
<property ><ref bean="registrationValidator"/></property>
<property ><value>registration</value></property>
<property ><value>regInfo</value></property>
</bean>

好了,enjoy it again。

写完上面的也许你会发现还是运行不了.老是提示:no suche Message 为什么呢?打开validator-rules.xml文件看看.他还需要求要properties文件的.
什么也不用说,打开vaildator-rules.xml文件,去把前面有段注释的文字如下:
#Created by JInto - www.guh-software.de
#Wed Nov 30 17:13:29 CST 2005
errors.byte={0} must be a byte.
errors.creditcard={0} is an invalid credit card number.
errors.date={0} is not a date.
errors.double={0} must be a double.
errors.email={0} is an invalid e-mail address.
errors.float={0} must be a float.
errors.integer={0} must be an integer.
errors.invalid={0} is invalid.
errors.long={0} must be a long.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is required.
errors.short={0} must be a short.
errors.timecheck=please input right date.
errors.twofields=please input same fields.

生成一个messages_en.properties加载到Spring 中就可以啦

分享到:
评论

相关推荐

    commons-validator-1.3.1.zip

    在实际应用中, Commons Validator通常与其他Java EE框架如Struts、Spring等集成,用于Web表单验证,确保应用程序的数据一致性。此外,由于其良好的可扩展性和灵活性,它也被广泛应用于服务端数据处理、后台逻辑验证...

    sanji-validator:AngularJS表单验证

    快速配置 bower install sanji-validator 这会将bower_components -validator文件及其依赖项复制到bower_components文件夹中。 将脚本文件加载到您的应用程序中: &lt; script src =" bower_components/sanji-...

    spring、hibernate jar包介绍

    Spring 提供了一个全面的编程和配置模型,而 Hibernate 则是 ORM(对象关系映射)框架,用于简化数据库操作。 Spring 框架的 jar 包介绍: 1. **spring.jar**:这是 Spring 的核心发布包,包含了大部分功能,但不...

    Spring + struts + hibernate 登陆(原创)Validator 验证

    Spring + struts + hibernate (原创) Validator 验证 系统配置 :myEclipse7.5 Spring 1.2 +hibernate3.1 +struts 1.3 添加的顺序不能乱否则会出错 很好的一个入门教材

    Spring-Reference_zh_CN(Spring中文参考手册)

    5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor ...

    spring+struts+hibernate+dwr+jstl做的实例

    完全由Spring接管DWR AJAX处理(不需要配置dwr.xml)等技术点 源码在/mytest/WEB-INF/src下 Winxp sp3+JDK1.6+Tomcat 6.0下运行通过 因文件长度限制,未加入相关类库,请自行加入,需要的类库有: dom.jar...

    实战springmodules commons validator

    其中commons validator是一个可配置的验证框架,使用方式和工作原理都和struts用的ValidatorPlugIn一样。它可以通过配置生成js在客户端验证, 也可以配合具有验证功能的spring controller实现客户端验证. 本下载文件...

    基于SpringMVC+Hibernate4的考勤管理系统+.zip

    spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具...

    hibernate_validator_reference_5.1.3.pdf

    hibernate_validator_reference_5.1.3 整合spring进行参数校验

    renovate-config-validator:验证GitHub Actions中的Renovate配置

    更新配置验证器 :check_mark_button: 验证GitHub Actions中的Renovate配置 例子 name : CI on : pull_request : ... uses : rinchsan/renovate-config-validator@v0.0.0 with : pattern : ' *.j

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在...

    Demo——使用Spring的Validator接口进行数据验证

    这个Demo示范了怎么通过Spring的Validator接口来进行数据验证,包括Validator的复用、jsp错误信息的展示等。可参考本人博客: http://blog.csdn.net/oLanMoMo/article/details/50530352

    struts2 spring hibernate 整合

    对于全注解的Spring配置,还需要`spring-asm`和`spring-expression`。注意,`backport-util-concurrent.jar`是Spring2.5.6的并发库,某些情况下需要添加。 Hibernate的jar包应该从`lib/required`目录下选取,包括:...

    spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)

    使用IntelliJ IDEA(或其他IDE)创建一个新的Spring Boot项目,确保在项目配置时勾选了`web`、`validation`和`freemarker`相关的依赖。这样,项目将自动包含处理HTTP请求、数据验证和模板渲染所需的基础库。 接着,...

    [课堂课件讲解]Java微服务实践-Spring Boot 验证.pptx

    Java 微服务实践-Spring Boot 验证 本文档主要介绍 Java 微服务...本文档旨在帮助读者了解 Java 微服务实践中的验证机制,并掌握 Apache Commons Validator、Bean Validation 1.0 和 Spring Validator 的使用和配置。

    Spring-MVC技术体系介绍(二)

    强大而直接的配置方式:将框架类和应用程序类都能作为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器(validator)的引用。 可适配、非侵入:可以根据不同的应用场景,选择合适的...

    Spring Seucrity整合CAS

    在Spring的配置文件`applicationContext.xml`中,我们需要配置Spring Security的相关设置。通过`&lt;http&gt;`元素定义安全策略,例如URL模式的访问控制。`&lt;authentication-manager&gt;`定义认证管理器,`&lt;cas-filter&gt;`和`...

    learning-spring-mvc:最终只是一个学习和实践 spring-mvc 和其他概念的项目

    Spring 3.0.5(我尝试使用版本4,但在配置注释时抛出异常) 验证 Bean API 1.0.0.GA Hibernate验证 4.x Java 8(如果可能,我也在尝试一些 Java 8 功能) TODO LIST(关于配置) 将 Spring 版本更新为 4.x 将...

    Spring Validator接口校验与全局异常处理器

    在 Controller 类中,需要配置 Validator 接口,并将其设置到 DataBinder 对象中。在具体的业务逻辑处理部分,Controller 类可以使用 Validator 接口来进行校验。例如,在上面的示例代码中,...

    myeclipse框架搭建步骤.doc

    接下来,我们将配置Spring的核心文件`applicationContext.xml`。 1. 右键点击项目,选择“New” &gt; “Other” &gt; “Spring” &gt; “Spring Beans Configuration File”,命名为`applicationContext.xml`,放在`WEB-INF/...

Global site tag (gtag.js) - Google Analytics