Validate TextArea
In this section, you will learn how to validate your text area in struts 2. A text area
contains 1 to 250 characters. It cann't support "null" value.
For validating your text are in your application
follows the certain steps:
Step 1: Create index.jsp page
Here is the code to be added in the index.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN">
<html>
<head>
<title>RoseIndia.Net Struts 2 Tutorial</title>
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0"
cellspacing="0" width="400">
<tr>
<td><font color="#000080"
size="5"><b>RoseIndia.net Struts 2
Tutorials</b><br>
</font></td>
</tr>
<tr>
<td><font color="#000080"><b>Select
the following links to test the
examples</b></font></td>
</tr>
<tr>
<td>
<ul>
<li><a href="roseindia/characterLimit.action">Characters and limiting Example</a></li>
</ul>
</td>
</tr>
<tr>
<td><font color="#000080"> <br>
<br>
<br>
Visit <a href="http://www.roseindia.net">http://www.roseindia.net</a>
for latest tutorials</font></td>
</tr>
</table>
</center>
</div>
<p align="center"> </p>
</body>
</html>
|
Step 2: Create an action mapping in the struts.xml
file.
Here is the code to be added in the struts.xml:
<?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">
<action name="characterLimit">
<result>/pages/chatQuestion/limitedCharacter.jsp</result>
</action>
<action name="characterLimit1" class="net.roseindia.limitedCharacterAction">
<result name="error">/pages/chatQuestion/limitedCharacter.jsp</result>
<result name="success">/pages/chatQuestion/limitedCharacterSuccess.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>
|
Step 3: Create a JSP page that contains text area and submit button:
Here is the code to be added in the limitedCharacter.jsp:
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Limited Characters in Text Area</title>
<s:head theme="ajax" />
</head>
<body>
<s:form action="characterLimit1" method="POST" validate="true">
<s:textarea name="summary1" label="Brief Summary" rows="6" cols="40"/>
<s:submit value="Save" align="center" />
</s:form>
</body>
</html>
|
Step 4: Create an action class:
Here is the code to be added in thelimitedCharacterAction.java:
package net.roseindia;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.io.PrintStream;
import java.util.List;
import java.util.*;
public class limitedCharacterAction extends ActionSupport{
private String summary1;
public String getSummary1() {
return summary1;
}
public void setSummary1(String summary1) {
this.summary1 = summary1;
}
public String execute() throws Exception{
String summaryText = getSummary1();
long countSummaryText = summaryTextcount(summaryText);
System.out.println("countSummaryText:"+countSummaryText);
if (countSummaryText >0 && countSummaryText < 250){
return SUCCESS;
}
else{
if(getSummary1().equals(""))
addFieldError("summary1","Brief Summary is required.");
if((countSummaryText > 250))
addFieldError("summary1","Brief Summary must be 1 to 250 Charaters");
return ERROR;
}
}
private static long summaryTextcount(String str){
return str.length();
}
}
|
Step 5: Create a JSP page that contains the inputted text in the textarea:
Here is the code to be added in limitedCharacterSuccess.jsp:
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Limited Characters in Text Area</title>
<link href="<s:url value="/css/main.css"/>" rel="stylesheet"
type="text/css"/>
</head>
<body>
<b>Brief Summary: </b><s:property value="summary1" /><br>
</body>
</html> |
Output:

When you click the "Save" command button with out any data
then you get:

If you enter more than 250 characters then you get :

If you enter your text between 1 to 250 characters then you get:

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: