niyue

Struts中进行数据验证

In java on January 30, 2005 at 8:22 AM

Developer STRUTS

Check Your Form with Validator

By James Holmes

Enabling the Validator Plug-in

配置Validator插件,也即在配置struts-config.xml,加入该插件

Configuring validator-rules.xml

大多数情况下你不需要修改预定义的验证规则,除非你希望给框架自定义验证规则。

Included Validations

默认情况下已经包含了一些常用的验证器,如required,CreditCard和email等

Creating Form Beans

为了使用验证器,应用中的Form Bean应该是验证器ActionForm的子类,
而不能是ActionFrom本身。这一子类提供了ActionForm的validate()方法的一个实现。Form Bean继承了子类之后并不需要将验证进行硬编码,完全可以将这一方法忽略掉。验证器会帮你提供验证需要的代码。
form bean在struts-config.xml中的配置也同常规的Form Bean相同验证的时候配置validation.xml。两种标准的方式创建Form Bean。一种是创建一个具体的Form Bean,另一种是创建一个动态的Form Bean,validator.xml的Form Bean的验证与struts-config.xml中的Form Bean一对一的绑定,这种机制可以适用于绝大多数的情况,但是当Form Bean在多个Action间复用(可能有的用的字段多一些有的用的少一些)时,就不适用了。为了解决这一问题,验证器有两个子类ValidatorActionForm和DynaValidatorActionForm允许将验证与action进行绑定而不是与Form Bean进行绑定。

Configuring validation.xml

Configuring ApplicationResources.properties

验证器使用Struts的资源束机制来显示错误消息。主要配置ApplicationResource.properties(添加消息文本和对应的key)文件和validation.xml(利用key引用消息文本)文件。

如果不想使用资源束机制的话,也可以在validation.xml文件中直接表明。

Enabling Client-Side Validations

除了服务端的数据验证,Struts还有机制支持客户端验证。
在validator-rules.xml中标明了在客户端用于验证的JavaScript代码(可选的标明)
为了使用客户端验证,就要在每个需要验证的JSP插入Struts HTML标签库的JavaScript标签。而无论是否使用客户端验证,服务端验证都会进行。

其他的一些文章:

Struts Validator验证器使用指南(推荐阅读)

在struts中使用validator做页面验证

Struts Validator的使用

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s