WebWork adds support for client-side validation on top of XWork's standard validation framework. You can enable it on a per-form basis by specifying validate="true" in the form tag:
<ww:form name="'test'" action="'javascriptValidation'" validate="true"> ... </ww:form>
You must specify a name for the form in order for client-side validation.
You should also make sure you provide the correct action and namespace attributes to the <ww:form> tag. For example, if you have an Action named "submitProfile" in the "/user" namespace, you must use
<ww:form namespace="'/user'" action="'submitProfile'" validate="true"> ... </ww:form>
While the following will "work" in the sense that the form will function correctly, client-side validation will not:
<ww:form action="'/user/submitProfile.action'" validate="true"> ... </ww:form>
Of course, all the standard validation configuration steps still apply. 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.
Not all validators support client-side validation. Currently only the followings validators supports client-side validation.
- required validator
- requiredstring validator
- email validator
- url validator
- int validator
Note that the required attribute on many WebWork Tags has nothing to do with client-side validation. It is just used by certain theme (like xhtml) to put a '*' on the field marked as required.
Building a Validator that supports client-side validation
See Client Validation for an example.