Tutorial: Validator

Validator

La función de validación general se basa en un objeto de configiración, que luego se aplica sobre un formulario específico, a continuación se explica cómo es su uso.

Validator


Configuración del objeto de validación

La llave del objeto es el id o name (en el caso de los radios) del cuál se desea verificar y aplicar la validación, cada item tiene la siguiente estructura de parámetros:

Propiedad tipo Descripción
l string Label del campo que aparecerá en la alerta
r boolean true para validar el campo, false para no tenerlo en cuenta
t string Id del contenedor HTML donde está el label que se pondrá rojo (vacio para los nuevos)
f string tipo de validación especial a aplicar (ver cuadro siguiente)
mn integer Mínimo de caracteres que debe tener un campo
mx integer Máximo de caracteres que debe tener un campo
re Object Cuando se indica en la propiedad f el valor regexp, se debe indicar acá la expresión regular a aplicar
//formularios de tablas
var of_fields =
{
    't1': { 'l': 'Fecha esperada de entrega', 'r': true, 't': 'td_7' },
    'r1': { 'l': 'Almacen', 'r': true, 't': 'td_25' },
    'r2': { 'l': 'Cargar a', 'r': true, 't': 'td_r2' },
    's2': { 'l': 'Almacenista que hará la entrega', 'r': true, 't': 'td_s2' },
    's1': { 'l': 'Tipo de solicitud', 'r': false, 't': 'td_6' },
    'r4': { 'l': 'Entregar Mercancia En', 'r': true, 't': 'td_r4' },
    't3': { 'l': 'Destinatario de la mercancia', 'r': true, 'f': 'alpha', 't': 'td_5', 'mn': '3', 'mx': '100' },
    't5': { 'l': 'Valor total', 'r': true, 'f': 'alpha', 't': 'td_3' },
    'ta1': { 'l': 'Justificacion', 'r': true, 't': 'td_2' },
    'r7': { 'l': 'Este consumo debe afectar el presupuesto del mes', 'r': true, 't': 't_tr7' }
}

//Formularios Nuevos
var of_fields = {
    't8': { 'l': 'Fecha Inicio', 'r': true, 'f': '', 't': '' },
    't7': { 'l': 'Ciudad Destino', 'r': true, 'f': '', 't': '' },
    't27': { 'l': 'Ciudad Origen', 'r': true, 'f': '', 't': '' },
    's4': { 'l': 'Hora Inicio', 'r': true, 'f': '', 't': '' },
    't10': { 'l': 'Fecha Fin', 'r': true, 'f': '', 't': '' },
    's6': { 'l': 'Hora Fin', 'r': true, 'f': '', 't': '' },
    'r3': { 'l': 'Transporte', 'r': true, 'f': '', 't': '' },
    'r4': { 'l': 'Trayecto', 'r': $ck('r31'), 'f': '', 't': '' },
    'r1': { 'l': 'Viajero', 'r': true, 'f': '', 't': '' }
}

Tipos de validación para los campos

Los tipos de validación que se pueden aplicar sobre la propiedad f son estos:

tipo Descripción
alpha Caracteres alfanuméricos y acentos
alpha2 Solo númneros del 0 al 9
alpha3 Solo letras de la a hasta z y puntos
alpha4 Solo letras de la a hasta z, dos puntos y guión
alpha5 Números del 1 al 9 y letras de la a hasta z
alpha6 Caracteres alfanuméricos y acentos
alphanum Muchos caracteres alfanuméricos
integer Solo números enteros
real Solo números reales
email Correos válidos
emailDL Correos válidos con dominios largos
phone Validación para teléfono
date2 Validación para fecha
regexp Debe escribirse regexp, la declaración de hace en re
float Solo números flotantes
date Validación para fecha más elaborada
time Validación para la hora

Configuración del validator

En el campo o_cfg se envía un objeto con unas configuraciones, estos son los parámetros posibles:

Propiedad tipo Descripción
to_disable Array Arreglo de tipo string que contiene el id de los botones a deshabilitar
alert function Se puede enviar una función si se queire presentar una alerta diferente a la del validator
var of_config = { 
    'to_disable': ['Submit'], 
    'alert': function (msj) { 
        app.dialog.alert(msj.replace('diligencie', 'diligencia')); 
    } 
};