package net.viralpatel.struts.validation.form;
import org.apache.struts.validator.ValidatorForm;
public class CustomerForm extends ValidatorForm {
private String name;
private String telephone;
private String email;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Code language: Java (java)
We will use this validator plugin to validate this form. Note that the form bean is extended from class ValidatorForm and not ActionForm as we generally do in Struts project. <!-- Validator Configuration -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property >Define validations for the form</h2>
<img src="//www.viralpatel.net/app/uploads/validation-xml-file-struts-validator-framework.png" alt="validation.xml file struts validator framework" title="validation-xml-file-struts-validator-framework" width="166" height="151" class="aligncenter size-full wp-image-687" />
Create a file validation.xml in your applications WEB-INF directory. And copy following content in it.
<!-- wp:code {"language": "xml"} --><pre class="wp-block-code"><code></code></pre><!-- /wp:code -->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<global>
<constant>
<constant-name>telephoneFormat</constant-name>
<constant-value>^\d{5,10}$</constant-value>
</constant>
</global>
<formset>
<form name="CustomerForm">
<field >Struts-config.xml entry for the action</h2>
Following is the entry in struts-config.xml file which maps the Action to our Validator form.
<!-- wp:code {"language": "xml"} --><pre class="wp-block-code"><code></code></pre><!-- /wp:code -->
<form-beans>
<form-bean name="CustomerForm"
type="net.viralpatel.struts.validation.form.CustomerForm" />
</form-beans>
...
...
...
<action-mappings>
...
<action path="/customer" name="CustomerForm" validate="true"
input="/index.jsp"
type="net.viralpatel.struts.validation.action.CustomerAction">
<forward name="success" path="/Customer.jsp" />
<forward name="failure" path="/index.jsp" />
</action>
...
</action-mappings>
Code language: HTML, XML (xml)
label.name= Name
label.email= Email
label.telephone= Telephone
label.age= Age
# general error msgs
errors.header=<font size="2"><UL>
errors.prefix=<LI><span style="color: red">
errors.suffix=</span></LI>
errors.footer=</UL></font>
errors.invalid={0} is invalid.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is required.
errors.byte={0} must be an byte.
errors.date={0} is not a date.
errors.double={0} must be an double.
errors.float={0} must be an float.
errors.integer={0} must be an integer.
errors.long={0} must be an long.
errors.short={0} must be an short.
Code language: HTML, XML (xml)
index.jsp
and copy following content in it. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <html> <head> <title>Struts Validation Framework example.</title> </head> <body> <html:errors /> <html:javascript formName="CustomerForm" /> <html:form action="/customer"> <bean:message key="label.name" /> <html:text >Running the application We are done with our application. Now execute it from any web container (Tomcat in my case) and open in browser.Code language: HTML, XML (xml)
Java URL Encoder/Decoder Example - In this tutorial we will see how to URL encode/decode…
Show Multiple Examples in OpenAPI - OpenAPI (aka Swagger) Specifications has become a defecto standard…
Local WordPress using Docker - Running a local WordPress development environment is crucial for testing…
1. JWT Token Overview JSON Web Token (JWT) is an open standard defines a compact…
GraphQL Subscription provides a great way of building real-time API. In this tutorial we will…
1. Overview Spring Boot Webflux DynamoDB Integration tests - In this tutorial we will see…
View Comments
please provide struts 1.2 server side and client side validation
Hi I read about this CustomerAction but I don't see any codes for that. Can anyone enlighten me? Thanks
Hi JJ,
CustomerAction class file is a normal implementation of Action class that does not have anything special in it. The error handling is done using Validation framework. CustomerAction class will not be invoked in case of any validation errors.
Simple & to the point.
Good article for the beginners.
Very good I leaned jar file creation in one shot
Hi All,
actually when i run this application , i got this exception
java.lang.NoClassDefFoundError: org/apache/commons/validator/ValidatorResources
i loaded all necessary jar file but couldnot solve this problem can anyone tell me why this happening.
Thanks
Hi Neeraj,
Can you give the list of the jars that you have used in the project. Check struts-validation jar and struts.jar file. Open these jars and see if the class ValidatorResources is available. I am very sure the problem is with the jar only.
THANKS,
I was vary confuse about this .
sorry ,
in my system same this program generate different result it's print the welcome statement which is wrote in MessageResource.properties file . ?
why this msg is shown ?
now what can I do .?
good.thank u.i like very much for this site