Apache Struts 2 Documentation > Home > Guides > Core Developers Guide > Interceptors > Validation Interceptor
Added by digi9ten, last edited by Ted Husted on Sep 10, 2006  (view change)
Content pulled from external source. Click here to refresh.

This interceptor runs the action through the standard validation framework, which in turn checks the action against any validation rules (found in files such as ActionClass-validation.xml) and adds field-level and action-level error messages (provided that the action implements com.opensymphony.xwork.ValidationAware). This interceptor is often one of the last (or second to last) interceptors applied in a stack, as it assumes that all values have already been set on the action.

This interceptor does nothing if the name of the method being invoked is specified in the excludeMethods parameter. excludeMethods accepts a comma-delimited list of method names. For example, requests to foo!input.action and foo!back.action will be skipped by this interceptor if you set the excludeMethods parameter to "input, back".

Note that this has nothing to do with the com.opensymphony.xwork.Validateable interface and simply adds error messages to the action. The workflow of the action request does not change due to this interceptor. Rather, this interceptor is often used in conjuction with the workflow interceptor.

NOTE: As this method extends off MethodFilterInterceptor, it is capable of deciding if it is applicable only to selective methods in the action class. See MethodFilterInterceptor for more info.

Parameters

Content pulled from external source. Click here to refresh.

  • None

Extending the Interceptor

Content pulled from external source. Click here to refresh.

There are no known extension points for this interceptor.

Examples

Content pulled from external source. Click here to refresh.
<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>