JavaScud | Forum | JIRA | Blog |
  Dashboard > WebWork2文档中文化计划 > ... > Interceptors > Validation Interceptor
  WebWork2文档中文化计划 Log In View a printable version of the current page.  
  Validation Interceptor
Added by scud, last edited by scud on May 19, 2006  (view change)
Labels: 
(None)

这个拦截器通过标准的验证框架运行action。这个标准的输入验证框架根据验证规则(在类似ActionClass-validation.xml这样的文件中定义的)来检查action,然后添加字段级别和action级别的错误信息(前提是你的action必须实现了com.opensymphony.xwork.ValidationAware接口)。这个拦截器一般是栈中的最后一个(或者倒数第二个)。这样可以保证所有的值已经被设置到action中了。

如果要调用的方法名已经在excludeMethods参数中被指定了,这个拦截器不会做任何事情。excludeMethods参数是用逗号隔开的方法名列表。例如,如果你设置excludeMethods参数为"input, back",那么指向foo!input.actionfoo!back.action请求就会被这个拦截器跳过。

注意,这个过程不会对com.opensymphony.xwork.Validateable接口做任何事情,只是简单的向action中添加一些错误信息。action请求的流向不会因为这个拦截器而改变。一般要把这个拦截器和workflow拦截器一起使用。

注意 :因为这个其扩展了MethodFilterInterceptor, 它可以决定是否只把这个功能应用于某些方法上。详细信息参见MethodFilterInterceptor

参数

扩展

例子

<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="params"/>
    <interceptor-ref name="validation"/>
    <interceptor-ref name="workflow"/>
    <result name="success">good_result.ftl</result>
</action>

<-- in the following case myMethod of the action class will not
       get validated -->
<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="params"/>
    <interceptor-ref name="validation">
        <param name="excludeMethods">myMethod</param>
    </interceptor-ref>
    <interceptor-ref name="workflow"/>
    <result name="success">good_result.ftl</result>
</action>
Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators