Validación de datos contra un patrón
3 Tareas
10 minutos
Escenario
TGB decidió abrir una sucursal en India. Los candidatos de India deben proporcionar un número de Id. Aadhaar para identificarse. Asegúrese de que los candidatos ubicados en India introduzcan un Id. Aadhaar que cumpla con los siguientes requerimientos:
- El Id. no contiene caracteres alfabéticos ni especiales.
- El Id. está compuesto por tres grupos de cuatro números, con un espacio que separa cada grupo de cuatro.
- El Id. no empieza con "0" ni con "1".
Configure el layout Candidate information (Datos del candidato) en el paso Collect personal details (Recopilar datos personales) para mostrar un campo para el número de Id. Aadhaar. Configure el formulario de tal manera que se muestre el campo y se requiera únicamente si el usuario proporciona el código de país de tres caracteres para India (IND).
La siguiente tabla incluye las credenciales que necesita para completar el reto.
| Función | Nombre de usuario | Contraseña |
|---|---|---|
| Senior System Architect | SSA@TGB | pega123! |
Recorrido del Reto
Tareas detalladas
1 Crear una regla de validación de edición para probar el patrón de Id. Aadhaar
- En Dev Studio, en el menú Create (Crear), haga clic en Data Model > Edit Validate (Modelo de Datos > Editar Validar) para mostrar el formulario Create Edit Validate (Crear, editar, validar).
- En el formulario Create Property (Crear propiedad), en el campo Label (Etiqueta), escriba Validate Aadhaar ID (Validar Id. Aadhaar).
- Haga clic en Create and open (Crear y abrir) para crear la regla de validación de edición.
- En el formulario de validación de edición Validate Aadhaar (Validar Aadhaar), en el campo Java Source, escriba el siguiente código Java.
// Regex to check valid Aadhaar number
String regex= "^[2-9]{1}[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}$";// Compile the ReGex
java.util.regex.Pattern p = java.util.regex.Pattern.compile(regex);// If the string is empty, return false
if (theValue == null || theValue.trim().equals("")) return false;// Pattern class contains matcher() method to match the given string and the regular expression
java.util.regex.Matcher m = p.matcher(theValue);// Return if the string matched the ReGex
return m.matches(); - Haga clic en Save (Guardar) para completar la configuración de la regla de validación de edición.
2 Crear la propiedad Id. Aadhaar
- En el menú Create, haga clic en Data Model > Property (Modelo de datos>Propiedad) para mostrar el formulario Create Property (Crear propiedad).
- En el formulario Create Property (Crear propiedad), en el campo Label, escriba Aadhaar ID (Id. Aadhaar).
- En el campo Class, (Clase) escriba TGB-HRApps-Data-Candidate.
Nota: De forma predeterminada, solo las clases que corresponden a los tipos de datos enumerados en Data Explorer se presentan en la lista de clases disponibles. Puede exponer el tipo de datos en Data Explorer para agregar la clase TGB-HRApps-Data-Candidate a la lista de opciones.
- Haga clic en Create and open para crear la regla de propiedad.
- En el formulario Aadhaar ID property (Propiedad Id. Aadhaar), haga clic en la pestaña Advanced (Avanzado).
- En la pestaña Advanced , en el campo Max length, escriba 14 para evitar que el usuario introduzca un valor con más de 15 caracteres.
- En el campo Expected length (Número de equipos), escriba 14.
- En el campo Use validate (Usar validación), escriba o seleccione ValidateAadhaarID para aplicar la regla de validación de edición Validate Aadhaar ID cuando el usuario proporciona un valor para la propiedad.
- Haga clic en Save (Guardar) para completar la configuración de la propiedad Aadhaar ID.
3 Agregar el campo de Id. Aadhaar al paso Collect personal information (Recopilar información personal)
- En App Explorer, seleccione Candidate > User Interface > Section > CollectPersonalDetails_0 (Candidato>Interfaz de usuario>Sección>Recopliar datos personales) para abrir la sección Collect personal details (Recopilar datos personales).
- Haga clic en el encabezado del layout de la sección embebida CollectPersonalDetails_0_Candidate.
- En el encabezado del layout, haga clic en el ícono Open Rule (Abrir regla) para abrir la sección embebida CollectPersonalDetails_0_Candidate en una nueva pestaña.
Nota: Cuando abre la sección embebida, su navegador muestra una advertencia que le dice que los cambios en la sección embebida no se reflejan en la sección CollectPersonalDetails_0 hasta que esta se actualice. Haga clic en OK para descartar el cuadro de diálogo.
- Guarde una copia de la sección CollectPersonalDetails_0_Candidate en la versión del ruleset desbloqueada.
- En la lista Data capture (Captura de datos), seleccione Text input (Entrada de texto).
- Arrastre el cursor hacia el layout Candidate information (Información del candidato) y coloque el control de entrada de texto a la derecha del campo Home Phone (Teléfono de casa) .
- Haga doble clic en el campo de entrada de texto para abrir el cuadro de diálogo Cell Properties (Propiedades de la celda) .
- En el cuadro de diálogo Cell Properties, en el campo Property (Propiedad) , escriba o seleccione .AadhaarID.
- En la lista Visibility (Visibilidad), seleccione Condition (expression). El cuadro de diálogo Cell Properties (Propiedades de celda) se actualiza para mostrar el campo Condition for visibility (Condición de visibilidad) debajo del campo Visibility (Visibilidad).
- En el campo Condition for visibility, escriba .pyCountryCode='IND'.
- En la lista Required, seleccione Condition (expression). El cuadro de diálogo Cell Properties (Propiedades de celda) se actualiza para mostrar el campo Condition for required debajo del campo Visibility (Visibilidad).
- En el campo Condition for required, escriba .pyCountryCode='IND'.
- Haga clic en Submit (Enviar) para cerrar el cuadro de diálogo Cell Properties (Propiedades de celda).
- Haga clic en Save (Guardar) para completar la configuración de la regla de sección.
- Haga clic en Check in (Registrar) para insertar la regla y evitar que se siga editando la sección.
Este Reto es para practicar lo aprendido en el siguiente Módulo:
Disponible en la siguiente misión:
¿Quiere ayudarnos a mejorar este contenido?