Ir al contenido principal
Documentación técnica

Documentación técnica para configurar las reglas de validación en ForceManager

Training avatar
Escrito por Training
Actualizado hace más de una semana

INTRODUCCIÓN

Las validaciones personalizadas son un tipo de personalización que te permite validar datos antes de enviar la información a través del sitio web. Los registros no se actualizan/crean si una validación personalizada devuelve un error.

1. ACTIVAR VALIDACIONES PERSONALIZADAS

Activa las validaciones personalizadas utilizando la siguiente consulta.

update tblConfigItems set PorDef = 1, fModificado = getdate(), UserModificado = 51 where codigo = 'customValidations'

2. ESTRUCTURA DE LA TABLA

Solo hay una tabla involucrada en la configuración de las validaciones personalizadas.

tblCustomValidations: para cada campo diferente a validar se necesita una fila.

Campo

Descripción

entity

empresas, oportunidades

field

email, tel, Z_nif (nombre exacto que aparece en tblCamposStandard, tblCamposExtra)

name

nombre exacto de la función (validateNif, validateTel)

description

descripción de la validación

type

cadena “validation“

scope

cadena “field“

action

cadena “onSave”

bucket

Debemos proporcionar al departamento de Soporte el nombre y la función JS, ellos nos darán la URL para establecer en el campo bucket de tblCustomValidations.

3.ESTRUCTURA Y EJEMPLOS DE FUNCIÓN

ESTRUCTURA

La función de validación personalizada siempre debe devolver un mensaje. Si el mensaje contiene una cadena diferente de ‘’ o con longitud > 0, la aplicación lo detectará como un error y mostrará la cadena en las diferentes aplicaciones.

var handler = function (value) { if (value) { let error = ‘’; const fieldRexp = / –REGEX EXPRESION– /i; const string = ((value == null) ? “” : value).toString().toLowerCase(); if (!fieldRexp.test(string)) { return error = ‘texto de error’; } else { return error; }} }

La validación puede usar una expresión Regex. Puedes evaluar la expresión antes de enviarla en este sitio web -> https://regex101.com/

VALIDAR CP ES (validateCpEs)

var handler = function (value) { if (value) { let error = ‘’; const cpRexp = /^(?:0[1-9]\d{3}|[1-4]\d{4}|5[0-2]\d{3})$/i; const string = ((value == null) ? “” : value).toString().toLowerCase(); if (!cpRexp.test(string)) { return error = ‘CP no válido’; } else { return error; }} }

VALIDAR EMAIL (validateEmail)

var handler = function (value) { if (value) { let error = ‘’; const emailRexp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$/; const string = ((value == null) ? “” : value).toString().toLowerCase(); if (!emailRexp.test(string)) { return error = ‘La dirección de email no es válida’; } else { return error; }} }

VALIDAR TEL ES (validateTelEs)

var handler = function (value) { if (value) { let error = ‘’; const telRexp = /^(+34|0034|34)?[6789]\d{8}$/; const string = ((value == null) ? “” : value).toString().toLowerCase(); if (!telRexp.test(string)) { return error = ‘Teléfono no válido’; } else { return error; }} }

VALIDAR NIF ES (validateNif)

var handler = function (value) { if (value) { let error = ‘’; const dniRexp = /^(\d{8})([A-Z])$/I; const cifRexp = /^([ABCDEFGHJKLMNPQRSUVW])(\d{7})([0-9A-J])$/I; const nieRexp = /^[KLMXYZ]\d{7,8}[A-Z]$/I; const string = ((value == null) ? “” : value).toString().toLowerCase(); if (!dniRexp.test(string) && !nieRexp.test(string) && !cifRexp.test(string) ) { return error = ‘NIF no válido’; } else { return error; }} }

¿Ha quedado contestada tu pregunta?