Está en la página 1de 6

Struts 2 1 Prof.

Marco Quintana

Struts 2 Validation (Int Validator)


Estas funciones de validacin son suficientes para cualquier aplicacin Web normal. En algunos casos, estos conjunto estndar de funciones de validacin no son suficientes para validar la lgica de negocio complejos. Para validar la lgica de negocio complejo, Struts 2 validacin marco se puede extender a desarrollar funciones de validacin. En esta seccin se examinan todas las funciones de validacin disponibles con Struts marco 2. En las secciones de los tutoriales hablar de estas funciones de validacin con ejemplos. Normas de validacin Reglas de validacin son una parte integral de Struts 2 solicitudes, que las normas para la validacin de usuario se almacenan insumos. Struts 2 marco de validacin valida la entrada del usuario en contra de las reglas definidas. Las reglas de validacin se puede especificar: 1. Por action class: ActionName-validation.xml 2. Accin por alias: ActionName-alias validation.xml 3. Jerarqua de la herencia y las interfaces son ejecutadas por la Action Class. El XWork busca el rbol de la herencia de la accin por defecto para las validaciones de los padres de la accin de las clases e interfaces de aplicacin. Funciones de validacin por defecto en Struts 2 A raz de los validadores de campo forman parte del marco Struts 2: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Validador de conversin Fecha Validador Doble Validador El Validator del email Validador de expresin Feldexpression Validador Int Validador Regex Validador Requerido Validador Requiredstring Validador Stringlength Validador URL Validador Validador visitante

El uso de Struts 2 Int. Validador Siguiente ejemplo se analiza la utilizacin de Int. Validador para validar entero de entrada por el usuario. Estos son los pasos para desarrollar Int. validador ejemplo: Paso 1: Crear el archivo XML y aade el siguiente fragmento de cdigo XML en el archivo struts.xml.

Struts 2 2 Prof. Marco Quintana

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> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="default" extends="struts-default"> <!-- Add actions here --> <!-- int validation --> <action name="intValidation" class="NumAction"> <result name="input">/intInputForm.jsp</result> <result name="error">/intInputForm.jsp</result> <result>/intSuccess.jsp</result> </action> <!-- Add actions here --> </package> <!-- Add packages here --> </struts>

Paso 2: Crear el formulario. intInputForm.jsp


<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>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="intValidation"> </td> </tr> <s:textfield label="Enter Number" name="userinput" />

Struts 2 3 Prof. Marco Quintana


<s:submit /> </s:form> </body> </html>

Paso 3: Crear la accin de clase. NumAction.java


import com.opensymphony.xwork2.ActionSupport; public class NumAction extends ActionSupport{ private int userinput=0; public String execute() throws Exception{ /* if (getUserinput() >= 10 && getUserinput() <= 80){ return SUCCESS;

} else{ return ERROR; } */ return SUCCESS; } public void setUserinput(int userinput){ this.userinput = userinput; } public int getUserinput(){ return userinput; } }

Paso 4 : Crear las validaciones. El formato es validation.xml bien <ActionClassName>-validation.xml o


<ActionClassName> - <ActionAliasName>-validation.xml.

Escribir regla de validacin La siguiente regla de validacin de archivos se definen las reglas para comprobar el rango de entrada. La int Validador controles sobre el terreno si el entero es dado dentro de un rango determinado o no. Si es un nmero entero dentro de un rango determinado, entonces se lanz a la pgina intSuccess.jsp. En caso contrario se muestra el mensaje dado en el xml (Nmero necesidades de entre 10 y 80). Int validador de la toma los siguientes parmetros: fieldName - El nombre del campo que debe ser validado. min - Este es el valor mnimo (si no se especifica, no se verific).

Struts 2 4 Prof. Marco Quintana

max - Este es el valor mximo (si no se especifica, no se verific). NumAction-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="userinput"> <field-validator type="int"> <param name="min">10</param> <param name="max">80</param> <message>Number needs to between ${min} and ${max} </message> </field-validator> </field> </validators>

Cuando el nmero est dentro de los 10 y 80 luego intSuccess.jsp la pgina muestra el nmero de introducir "Nmero de entrada correcta" mensaje. intSuccess.jsp
<%@page language="java" %> <html> <head> <title>Correct entry</title> </head> <body> <b>Correct Input Number :</b><%=request.getParameter("userinput") %> </body> </html>

Salida: Cuando se ejecuta esta aplicacin le aparecer el siguiente:

Struts 2 5 Prof. Marco Quintana

Si introduce mal los datos o de texto se obtiene:

Al rellenar un nmero '50'

Struts 2 6 Prof. Marco Quintana

A continuacin, usted obtiene: