23
13 Copyright © 2004, Oracle. Todos los derechos reservados. Adición de Manejo de Errores y Validación

Lesson 13 - Adding Validation and Error Handli

  • Upload
    diego

  • View
    649

  • Download
    0

Embed Size (px)

DESCRIPTION

Curso de ADF utilizando Jdeveloper con la base Oracle

Citation preview

Page 1: Lesson 13 - Adding Validation and Error Handli

13Copyright © 2004, Oracle. Todos los derechos reservados.

Adición de Manejo de Errores y Validación

Page 2: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para:

• Validar la entrada de pantalla

• Utilizar la validación declarativa

• Utilizar la validación en el cliente

• Utilizar las indicaciones de control para modificar la vista

Page 3: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Visión General de Validación

Validadores de método,indicaciones de control

ADFBusiness

ComponentsBean de pantalla

de StrutsAcción

de Struts

Método validate()de bean de pantalla, validador de Struts

JSP

JavaScript Nuevos métodos de validación

Page 4: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Necesidad de Validación

Por lo general, en las aplicaciones Web, el usuario no recibe formación sobre cómo completar los campos correctamente. Así, una aplicación debe proporcionar feedback al usuario para estos tipos de acciones:

• Introducción de valores necesarios

• Especificación de valores dentro de un rango especificado

• Comparación de valores – Por ejemplo, Password1 se debe corresponder con

Password2.

Page 5: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Validación del Cliente

Para realizar la validación mediante Struts debe:

1. Crear una clase de bean de pantalla

2. sobrescribir el método validate() de bean de pantalla, transfiriendo un error a la acción

3. Crear el mensaje de error en ApplicationResources.properties

4. Agregar el atributo de entrada para la pantalla a la acción para indicar dónde debe aparecer el mensaje de error

Page 6: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Método de Validación de Bean de Pantalla

El bean de pantalla contiene un método validate() para validar campos de pantalla. sobrescriba este método para realizar la validación personalizada:

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if ((username == null) || (username.trim().equals(""))) {

errors.add("username", new ActionError("error.username.required"));

} return errors; }

Page 7: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Creación del Mensaje de Error

• Para mostrar el mensaje de error, especifique el mensaje en ApplicationResources.properties:

• Defina dónde se va a mostrar el mensaje de error mediante el atributo input:

error.username.required=The Username Value must be Supplied

<action name="logonbean" path="/logon" input="showLogon.jsp" type="view.LogonAction">

Page 8: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Impresión de Errores en JSP

Asegúrese de que la JSP contiene una etiqueta <html:errors>:

Observe que puede especificar el atributo de propiedad de la etiqueta <html:errors> para imprimir sólo el error correspondiente:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ page contentType="text/html;charset=windows-1252"%> <html> … <body> <html:errors /> …

<html:text property="username"></html:text>

<html:errors property="username" />

Page 9: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Validación de Acciones

Un segundo tipo de validación consiste en sobrescribir el método de ejecución en la clase de acción. Este tipo de validación es útil cuando:

• Se han creado previamente clases que comprueben la validez de un valor determinado

• El usuario no desea que los valores de pantalla se reestablezcan tras la validación

• La lógica de validación es compleja

Page 10: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Creación de una Clase de Validación

El primer paso para validar la entrada de usuario es crear un método para la validación. Esto se puede hacer en un archivo de clase sencillo, como se muestra:

package view; public class LoginValidation { boolean checkUsernamePassword(String un, String pw) { if ( un.equals("scott") && pw.equals("tiger") ) return true;

else return false; } }

Page 11: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

El Método execute()

Para validar la entrada de usuario en la clase de acción, sobrescriba el método execute(), llamando al método de validación:

public ActionForward execute… { LogonActionForm logonForm = (LogonActionForm) form; String un = logonForm.getUsername(); String pw = logonForm.getPassword(); LoginValidation loginvalidation = new LoginValidation();

if ( loginvalidation.checkUsernamePassword(un,pw)) { return mapping.findForward("success"); } else return mapping.findForward("failure"); }

Page 12: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Resultados de Validación

2. El usuario no introducedatos (validación de bean

de pantalla).

1. El usuario introduce una conexión incorrecta (validación de acción).

3. El usuario introduce unaconexión correcta.

Page 13: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Validador de Struts

Valide de forma declarativa campos de pantalla mediante el validador de Struts. El plugin del validador:

• Está basado en XML – validator-rules.xml (reglas de validación) – validations.xml (usos)

• Define las reglas de cada campo en un bean de pantalla

• Puede proporcionar la validación de cliente mediante JavaScript

• Es ampliable

Page 14: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Configuración del Validador de Struts

1. Especifique la clase de validador en la etiqueta <plug-in> de struts-config.xml.

2. Agregue validation-rules.xml al proyecto.

3. Modifique la clase de bean de pantalla a la subclase ValidatorForm o DynaValidatorForm.

4. Cree un archivo de uso para especificar las reglas de campo de pantalla.

5. Agregue mensajes de error a ApplicationResources.properties.

Page 15: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Uso del Validador de Struts

Agregue ValidatorPlugIn a la etiqueta <plug-in> y especifique la ruta para validator-rules.xml y validation.xml:

Page 16: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Uso del Validador de Struts

• Especifique el bean de pantalla para utilizar el validador de Struts mediante la subclasificación de ValidatorForm o DynaValidatorForm:

• Cree validation.xml para validar campos de pantalla y asegúrese de que todos los campos de pantalla que se van a validar contienen una entrada en ApplicationResources.properties:

import org.apache.struts.validator.ValidatorForm; public class LogonActionForm extends ValidatorForm {…

Logon.username=username Logon.password=password

Page 17: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

validation.xml: Ejemplo

<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> <form-validation> <formset>

<form name="logonbean"> <field property="password" depends="required" > <arg0 key="logon.password" /> </field>

</form> </formset> </form-valiidation>

Page 18: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Salida del Validador de Struts

Los mensajes del validador se pueden mostrar en la página o en una ventana de JavaScript:

Page 19: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Manejo de Excepciones

Para implementar el manejo de excepciones:

1. Cree una clase para el manejo de excepciones, que subclasifique

org.apache.struts.action.ExceptionHandler

2. Sustituya el método execute()para procesar la excepción

3. Devuelva un objeto ActionForward

4. Configure el manejador de excepciones en el archivo struts-config.xml

5. Cree un mensaje de excepción en ApplicationResources.properties

Page 20: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

JavaScript

JavaScript se soporta en JDeveloper como una manera sencilla de incorporar la validación.

Page 21: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Mejora de la Vista

Utilice las indicaciones de control para modificar el modo en que un atributo se muestra en un cliente.

Page 22: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Resumen

En esta lección ha aprendido a:

• Validar la entrada de pantalla mediante: – El método validate() – La clase de acción – El validador de Struts

• Desarrollar la validación de JavaScript

• Personalizar la vista mediante indicaciones de control

Page 23: Lesson 13 - Adding Validation and Error Handli

Copyright © 2004, Oracle. Todos los derechos reservados.

Práctica 13-1: Visión General

Esta práctica cubre los siguientes temas:

• Validación de campos de pantalla mediante el método validate()

• Creación de métodos de validación

• Llamada a métodos de validación desde acciones

• Uso del Validador de Struts

• Manejo de excepciones