Struts Validator
Framework provides an easy-to-use mechanism for performing client-side
validation. It's very useful to validate some fields on the client-side before
sending the data to the server for processing. By this way we can ensure that
the data send to the server is valid. Performing validations on the client-side
save the user a round trip time to the server.
For each validation routine defined
in the validation-rules.xml file Struts provides an optional JavaScript code that can run on the
client-side to perform the same validation that takes place on the server side.
1.<form-bean name="LoginForm"type="org.apache.struts.validator.DynaValidatorForm">
2.<form-property name="userName" type="java.lang.String" />
3.<form-property name="password" type="java.lang.String" />
4.</form-bean>
The following
validations are defined in the validation.xml file.
01.<form name="LoginForm">
02.<field property="userName" depends="required">
03.<arg key="LoginForm.userName"/>
04.</field>
05.<field property="password" depends="required,minlength">
06.<arg0 key="LoginForm.password"/>
07.<arg1 key="${var:minlength}" name="minlength" resource="false"/>
08.<var>
09.<var-name>minlength</var-name>
10.<var-value>6</var-value>
11.</var>
12.</field>
13.</form>
To enable client-side validation you
have to place the Struts HTML Tag Library's javascript tag in each jsp page for which you need to preform client-side
validation.
01.<html>
02.<head>
03.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
04.<title>JS Validation</title>
05.</head>
06.<body>
07.<html:form action="/Login" onsubmit="validateLoginForm(this);">>
08.<html:javascript formName="LoginForm" />
09.User Name : <html:text name="LoginForm" property="userName" />
10.
11.Password : <html:password name="LoginForm" property="password" />
12.
13.<html:submit value="Login" />
14.</html:form>
15.</body>
16.</html>
The formName
property of the javascript tag hold the name of the form specified in the
validation.xml file.
Next step is to specify the onsubmit attribute of the HTML Tag Library's form tag. The onsubmit attribute is
used to specify the javascript code that should be executed when the form is
submitted.
The name of the validate method
generated by the javascipt tag is formed by concatenating "validate" with the
name of the form specified in the javascript. For example, our form name is
"LoginForm" so the
generated method name will be "validateLoginForm". If the form name is "loginForm", the
generated method name will be "validateLoginForm"
Run the application.
The login.jsp page will be displayed. Click the login button without entering
the User Name and the Passowrd. The following error messages will be displayed
to the user. By using the client-side javascript validation we can display the
error messages on the alert box, instead of displaying it on the web page.
No comments:
Post a Comment