Let's create a Client-Side validation workflow, step by step.
The validate
attribute is set to true
.
Some themes do not support client-side validation.
Step 1
Create the form.
This case uses the default xhtml theme, so the <s:head >
tag is used to link a style sheet.
Step 2
Create the Action class.
Step 3
Create the validation.xml
to configure the validators to be used.
Action and Namespace
A correct action and namespace attributes must be provided to the <s:form> tag. For example, if the action named "quizClient" is defined in the "/validation" namespace, the form must be configured as:
<s:form method="post" validate="true" action="quizClient" namespace="/validation"> <s:textfield label="Name" name="name"/> <s:textfield label="Age" name="age"/> <s:textfield label="Favorite color" name="answer"/> <s:submit/> </s:form>
While the following will "work" in the sense that the form will function correctly, client-side validation will not. That is because Struts must know the exact namespace and action (rather than a URL) to properly support validation.
<s:form method="post" validate="true" action="/validation/quizClient.action"> <s:textfield label="Name" name="name"/> <s:textfield label="Age" name="age"/> <s:textfield label="Favorite color" name="answer"/> <s:submit/> </s:form>