验证基础准备:
选用common-validator 组件最初的原动力是他可以方便的实现客户端和服务器端的双重校验,而且从Spring-module 0.5发布后,对common-validator提供了良好的支持。
现在就让我们来看看如何在Spring环境下进行方便的双重校验吧J
首先请下载Spring-module0.5和Common-validator组件包放在lib下(我这里使用的是commons-validator-1.3.0.jar和spring-modules-validation.jarßspring-module0.5里的包)。其次,我们要开始进行配置啦,首先配置一个validator,配置如下:
<bean id="validatorFactory"
class="org.springmodules.validation.commons.DefaultValidatorFactory">
<property name="validationConfigLocations">
<list>
<value>
classpath*:configure/validator/validator-rules.xml
</value>
<value>classpath*:configure/validator/validation.xml</value>
</list>
</property>
</bean>
<bean id="validator"
class="org.springmodules.validation.commons.DefaultBeanValidator">
<property name="validatorFactory" ref="validatorFactory" />
</bean>
当然,上面要注意的一点是validator-rules.xml和validation.xml。validator-rules.xml我们可以直接引用Struts验证框架里的validator-rules.xml,这个文件很容易就Copy到了,而validation.xml是我们所要自定义的,这里我给出一个很简单的例子:
<form name="tYxs">
<field property="password" depends="required,mask">
<arg0 key=" tYxs.password" />
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</field>
</form>
上面的文件指定了一个form名字为newuserform,其中包含了一个字段password,规则是不可为空和不能有除1-9,a-z以外的其他字符(熟悉Struts校验的人不计其数,这个也是一样的规则配置方法),多说一句,userForm.password为国际化资源,在介绍国际化的文章中讨论了J
使用Spring MVC进行表单提交的时候,SimpleFormControllor会默认调用Validator,我们使用的还是Spring提供的老方法,注入就可以了。下面给出一个SimpleFormControllor的简单配置方法:
<bean id="tYxsbController"
class="mtn.gfkd.manage.controller.TYxsbController">
<property name="tyxsbdao">
<ref bean="tyxsbdao"/>
</property>
<property name="validator">
<ref bean="validator"/>
</property>
<property name="commandName" value="tYxs" />
<property name="commandClass" value="mtn.gfkd.manage.model.TYxs" />
<property name="formView">
<!-- tiles标记-- >
<value>manage.yxsb.insert</value>
</property>
<property name="successView">
<value>manage.yxsb.index</value>
</property>
</bean>
如上面的配置所示,我们将Validator和Form bean声明在了控制器中,这样它会在数据进行绑定后进行校验。这里有一个需要注意的问题,直接使用Spring-module的DefaultBeanValidator有一个规范,不然会出现Validator [org.springmodules.validation.commons.DefaultBeanValidator@1db8a73] does not support command class 这个莫名其妙的错误,呵呵,这个一般是我们没有遵守它的命名规范,他的命名规范是你的commandClass的首字母必须改为小写,比如你的类名为TYxs,在validator.xml文件里的form名字必须声明为tYxs,这个问题为查Spring源码n次发现的bug阿,这个命名规则同时也影响到了commandName的设置了。
服务器端的校验我们就配置完成了,现在我们所要关注的就是客户端怎样生成JS校验了。
JSP文件我们所要做的工作很简单了,就是如下:
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<validator:javascript dynamicJavascript="false" formName="tYxs" staticJavascript="false" />
把如上代码放在对应的JSP文件中,呵呵,当然你的formName要和validator.xml里的名字设置成一样的就好了,这样在页面就会自动生成校验的javascript了。
最后要注意的就是怎样写form了,直接给出例子吧:
<form action="insertUser.htm" method="POST" enctype="multipart/form-data" name="newuserform" onSubmit="return validateTYxs(this)">
<spring:bind path=" tYxs.password">
<FONT color="red">
<B><c:out value="${status.errorMessage}"/></B> </FONT><input type="text" name="password " value="<c:out value="${status.value}"/>"/>
</spring:bind>
</form>
上面也是一个比较完整的使用Spring:bind 标签的例子,给出了校验错误信息,其中注意,生成的Javascript代码的校验函数名是form名字前加上validate,同时把首字母再换成大写。
恩,这样spring的校验就应用在客户端和服务器端了J
分享到:
相关推荐
validator框架客户端验证代码调试成功可用
包含在我们平时编程中常用正则表达式如:日期正则表达式,使用RegularExpressionValidator验证控件时的验证功能及其验证表达式,从URL地址中提取文件名的javascript程序等
该demo是struts验证器validator使用,以及struts基本配置,自定义创建struts的验证器,使用maven创建管理工程,使用eclipse编译器
在struts1.x版本中使用validator验证框架实例。
表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-...
我这里设计了一个简单的javascript客户端验证工具,在页面中只需要对要进行验证的表单(form)及其所属的表单域对象(input)进行属性声明,即可完成配置,基本不需要手工书写javascript代码即可完成验证工作。
bootstrapvalidator 表单验证bootstrapvalidator 表单验证bootstrapvalidator 表单验证bootstrapvalidator 表单验证
这个Demo示范了怎么通过Spring的Validator接口来进行数据验证,包括Validator的复用、jsp错误信息的展示等。可参考本人博客: http://blog.csdn.net/oLanMoMo/article/details/50530352
Struts Validator验证器使用指南 <br>验证器: 从0.5版,验证器在一些form中就已经实现了,他最初包含在开发人员包中,后来核心代码挪到Jakarta Commons包中和Struts特别扩展中作为 Struts 1.1的一部分。...
1.bootstrap使用4.0 2.customValidator.css Bootstrap v4.0.0-beta (https://getbootstrap.com) jQuery v3.2.1
1、启用创建Validator方式,不再使用旧的静态方式。 2、加入多模式验证规则。既支持添加模式,也支持FORM表单模式,还支持两种模式共存。 3、简化添加模式,以简化开发和节省代码。 4、加入子验证嵌套模式模式。...
表单验证 Validator v4.0 表单的验证一直是Web开发头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于UI设计与业务逻辑上。 Validator早期...
BootstrapValidator验证表单插件BootstrapValidator验证表单插件BootstrapValidator验证表单插件BootstrapValidator验证表单插件BootstrapValidator验证表单插件BootstrapValidator验证表单插件BootstrapValidator...
mongoose-validator, mongoose模型的验证器利用 validator.js Mongoose验证器 的验证器使用了 validator.js 。Mongoose验证器仅仅返回Mongoose样式验证对象,这些对象利用 validator.js 进行数据验证。版本 1.0. x ...
主要为大家详细介绍了Vue表单验证插件Vue Validator使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Validator万能验证架框api Validator万能验证
Apache Commons Validator提供了客户端验证和服务器端数据验证的构建块。 它可以单独使用,也可以与Struts之类的框架一起使用。 文献资料 可以在上找到更多信息。 可以浏览 。 与Apache Commons Validator的使用...
apache_common_validator.chm 中文帮助文档 apache下的validator中文帮助文档
使用bootstrapvalidator做表单验证,select2下拉框支持拼音模糊匹配
validator验证原代码