Apache Struts 2 Documentation > Home > Guides > Core Developers Guide > Validation > Client Side Validation |

Apache Struts 2 Documentation
Client Side Validation
Edit Page Browse Space Add Page Add News
Added by ctran, last edited by Ted Husted on Sep 03, 2006 (view change) show comment hide comment
Comment:
Update formatting and nomenclature
View page history

The framework adds support for client-side validation on top of the standard validation framework.

Client-side validation can be enabled on a per-form basis by specifying `validate="true"` in the form tag.

    <saf:form name="test" action="javascriptValidation" validate="true">
      ...
    </saf:form>

If a `name` for the form is not given, the action mapping name will be used as the form name. Otherwise, a correct `action` and `namespace` attributes must be provided to the `<saf:form>` tag.

Referencing "submitProfile" in the "/user" namespace

    <saf:form namespace="/user" action="submitProfile" validate="true">
      ...
    </saf:form>

Technically, the form's action attribute can refer to a "path" that includes the namespace and action as a URI. But, client-side validation requires that the action name and namespeact to be set separately.

Won't work with client-side validation!

    <saf:form action="/user/submitProfile.action" validate="true">
      ...
    </saf:form>

All the usual validation configuration steps apply to client-side validation. Client-side validation uses the same validation rules as server-side validation. If server-side validation doesn't work, then client-side validation won't work either.

| The left hand doesn't know ... The `required` attribute on many Struts Tags is not integrated with client-side validation! The tag attribute is used by certain themes (like xhtml) to put a visual marker (usually '*') next to the field. The tag doesn't know if the validation system actually "requires" the field or not.

## Client Side Validation Types

There are two styles of client side validation.

Pure JavaScript Client Side Validation | Used by the xhtml theme and css_xhtml theme
AJAX Client Side Validation | Used by the ajax theme

Children Show Children Hide Children
Pure JavaScript Client Side Validation (Apache Struts 2 Documentation)