Steps to perform Custom Validation
Step 1: Make an input index.jsp
Using struts UI tags, this jsp website generates a form. The user provides it with their name, password, and email address.
<%@ taglib uri="/struts-tags" prefix="s" %>
<s:form action="register">
<s:textfield name="name" label="Name"></s:textfield>
<s:password name="password" label="Password"></s:password>
<s:submit value="register"></s:submit>
</s:form>
Step 2: Create the action class
This action class inherits the ActionSupport class and overrides the validate method to define the validation logic.
Java
package org.w3wiki; import com.opensymphony.xwork2.ActionSupport; public class RegisterAction extends ActionSupport{ private String name,password; public void validate() { if (name.length()< 1 ) addFieldError( "name" ); if (password.length()< 6 ) addFieldError( "password" ); } public String execute(){ return "success" ; } } |
Step 3: Define a struts.xml input result
This xml file defines an extra result by the name input, that will be called if any error message is discovered in the action class.
XML
<? xml version = "1.5" encoding = "UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-1.7.dtd"> < struts > < package name = "default" extends = "struts-default" > < action name = "register" class = "org.w3wiki.RegisterAction" > < result >welcome.jsp</ result > < result name = "input" >index.jsp</ result > </ action > </ package > </ struts > |
Step 4: Make a view component
It’s a straightforward JSP file that shows the user’s data.
<%@ taglib uri="/struts-tags" prefix="s" %>
Name:<s:property value="name"/><br/>
Password:<s:property value="password"/><br/>
Output: Custom Validation Fields
Output: FieldError Validation
Struts 2 Custom Validation – Workflow Interceptor
Struts 2 allows us to design our validation logic, commonly known as custom validation, by implementing the action class’s Validatable Interface. As you might expect, understanding the Validatable interface is critical for understanding Struts2 custom validation.
Contact Us