Struts 2 E-mail Validator
The email validator in Struts 2 Framework checks
whether a
given String field is empty or not and contains a valid email address or not. If the entered value
does not
match with the email type then the e-mail validator generates an error message.
The error message is supplied
between the <message> </message> tag. The following example demonstrates
how to use an email validator to check the entered value.
Follow the steps to develop the email validator
example:
Step 1: Create the
struts.xml file and add the following xml snippet in the struts.xml file.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Rose India Struts 2 Tutorials -->
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="roseindia" namespace="/roseindia" extends="struts-default">
<!-- Add actions here -->
<!-- Email validation -->
<action name="emailValidation">
<result>/pages/emailInputForm.jsp</result>
</action>
<action name="emailValidation1" class="net.roseindia.EmailVaLidationAction">
<result name="input">/pages/emailInputForm.jsp</result>
<result name="error">/pages/emailInputForm.jsp</result>
<result>/pages/emailSuccess.jsp</result>
</action>
<!-- Add actions here -->
</package>
<!-- Add packages here -->
</struts>
|
Step 2 : Create an input jsp form. as shown
below:
emailInputForm.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Email input form</title>
<link href="<s:url value="/css/main.css"/>" rel="stylesheet"
type="text/css"/>
<s:head/>
</head>
<body>
<s:form method="POST" action="emailValidation1">
</td>
</tr>
<s:textfield label="Enter Email Address" name="myEmail" />
<s:submit />
</s:form>
</body>
</html>
|
Step 3 : Create an Action class.
EmailVaLidationAction.java
package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
public class EmailVaLidationAction extends ActionSupport {
private String myEmail;
public void setMyEmail(String myEmail){
this.myEmail = myEmail;
}
public String getMyEmail(){
return myEmail;
}
}
|
Step 4 : Create an e-mail validator as:.
The validation.xml format is either <ActionClassName>-validation.xml
or <ActionClassName>-<ActionAliasName>-validation.xml.
email validator :
This Field Validator
checks whether a given String field is empty or not and contains a valid email address or
not. If it has valid email type then the user is sent to the emailSuccess.jsp
page. Otherwise, it displays the message given in the xml file (e.g. Please enter
a valid email.).
The email validator
takes the following parameters:
- fieldName - This is the field name of validator
that validates. It is required only if the user is using Plain-Validator Syntax
.
EmailVaLidationAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="myEmail">
<field-validator type="email">
<message>Please enter a valid email</message>
</field-validator>
</field>
</validators>
|
When the correct email address is entered then
the user gets the emailSuccess.jsp
page
emailSuccess.jsp
<%@page language="java" %>
<html>
<head>
<title>Correct entry</title>
</head>
<body>
<b>Welcome to </b><%=request.getParameter("myEmail") %>!
</body>
</html>
|
Output:
When this application executes the user gets the
following output :

If you enter the wrong email address
then you get a message as shown:

Again, If you enter the wrong email address
then you get:

Again, If you enter the wrong email address
then you get:

If you enter the correct email address:

Then you get:

|