bitfront-library
Version:
Angular CLI project with components and classes used by other Angular projects of the BIT foundation.
677 lines • 29.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CustomValidators = void 0;
var core_1 = require("@angular/core");
var forms_1 = require("@angular/forms");
var general_utils_service_1 = require("./general-utils.service");
var i0 = require("@angular/core");
var CustomValidators = /** @class */ (function () {
function CustomValidators() {
}
CustomValidators.getValidatorErrorMessage = function (code) {
return this.config[code];
};
// método para unir validadores
CustomValidators.compose = function (validators) {
return function (g) {
// ejecutamos cada uno de los validadores y unimos sus resultados
return validators.map(function (validator) { return validator(g); }).reduce(function (acc, result) {
if (result === void 0) { result = {}; }
return Object.assign(acc, result);
}, {});
};
};
CustomValidators.required = function (control) {
if (!control.value) {
return { required: true };
}
else {
return null;
}
};
// este validador en realidad no está haciendo nada porque bit-input, para fechas no válidas, sustituye
// control.value por un null y el validador pasa siempre
CustomValidators.dataValidator = function (control) {
// formato dd/MM/yyyy
if (!control.value || control.value.match(/^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/(19|20)\d{2}$/)) {
return null;
}
else {
return { invalidDate: true };
}
};
CustomValidators.timeValidator = function (control) {
// formato hh:mm
if (!control.value || (control.value && control.value.match(/^[0-9][0-9]:[0-9][0-9]$/))) {
return null;
}
else {
return { invalidTime: true };
}
};
CustomValidators.emailValidator = function (control) {
// RFC 2822 compliant regex
if (!control.value || control.value.match(/\S+@([-\w]+\.)+\w+/g)) {
return null;
}
else {
return { invalidEmailAddress: true };
}
};
CustomValidators.emailCSVValidator = function (control) {
// RFC 2822 compliant regex
if (!control.value ||
control.value.match(/^(( )*[\w\.]+@([-\w]+\.)+\w+( )*)(,( )*[\w\.]+@([-\w]+\.)+\w+( )*)*$/g)) {
return null;
}
else {
return { invalidEmailCSVAddress: true };
}
};
CustomValidators.loginValidator = function (control) {
if (!control.value || control.value.match(/^[a-z0-9_-]{3,15}/)) {
return null;
}
else {
return { invalidLogin: true };
}
};
CustomValidators.etiquetaValidator = function (control) {
if (!control.value || control.value.match(/^[a-zA-Z0-9_-]+/)) {
return null;
}
else {
return { invalidEtiqueta: true };
}
};
CustomValidators.nombreValidator = function (control) {
if (!control.value ||
/^([A-Za-z0-9_\.\,\'\"\(\)\;\:\-\/\@\?\%\?\¿\&\+\-\*\/\ \n\rºª'´’·ïü?`áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙÄËÏÖÜäëïöüñÑçÇ¡!#])+$/.test(control.value)) {
return null;
}
else {
return { invalidName: true };
}
};
CustomValidators.codigoValidator = function (control) {
if (!control.value || control.value.match(/^([0-9])+$/)) {
return null;
}
else {
return { invalidCodigo: true };
}
};
CustomValidators.alfanumericoValidator = function (control) {
if (!control.value || control.value.match(/^([A-Z0-9_\.\-ÑÇ])+$/)) {
return null;
}
else {
return { invalidAlfanumerico: true };
}
};
CustomValidators.cantidadValidator = function (control) {
// value is either empty, or a number without decimals
if (!control.value || control.value === "") {
return null;
}
var num = Number(control.value);
if (!isNaN(num) && num % 1 == 0) {
return null;
}
return { invalidCantidad: true };
};
/* Valida numeros enteros (sin decimales) positivos (>=0) */
CustomValidators.enteroPositivoValidator = function (control) {
// value is either empty, or a number without decimals
if (!control.value || control.value === "") {
return null;
}
var num = Number(control.value);
if (!isNaN(num) && num % 1 == 0 && num >= 0) {
return null;
}
return { invalidEnteroPositivo: true };
};
CustomValidators.enteroPositivoValidatorIncluyeCeroValidator = function (control) {
// value is either empty, or a positive number (including 0) without decimals
if (!control.value || control.value === "") {
return null;
}
var num = Number(control.value);
if (!isNaN(num) && num % 1 == 0 && num >= 0) {
return null;
}
return { invalidEnteroPositivoIncluyeCero: true };
};
/* Valida numeros enteros (con decimales) */
CustomValidators.cantidadDecimalValidator = function (control) {
// value is either empty, or a number (including decimals)
if (!control.value || control.value === "" || !isNaN(Number(control.value))) {
return null;
}
else {
return { invalidCantidadDecimal: true };
}
};
/* Valida numeros enteros (con decimales) positivos (>=0) */
CustomValidators.numeroPositivoValidator = function (control) {
if (!control.value || control.value === "" || (!isNaN(Number(control.value)) && Number(control.value) >= 0)) {
return null;
}
else {
return { invalidNumeroPositivo: true };
}
};
/* Valida codigo postal (numero de 5 digitos) */
CustomValidators.codigoPostalValidator = function (control) {
if (!control.value || (control.value.match(/^([0-9])+$/) && control.value.length == 5)) {
return null;
}
else {
return { invalidCodigoPostal: true };
}
};
/* Valida telefono (numero de 9 digitos) */
CustomValidators.telefonoValidator = function (control) {
if (!control.value || control.value.match(/^[6789]\d{8}$/) || control.value.match(/^00\d{10,15}$/)) {
return null;
}
else {
return { invalidTelefono: true };
}
};
CustomValidators.buildLongitudValidator = function (lon) {
var errorKey = "invalidLongitud-" + lon;
this.config[errorKey] = "La dada no pot excedir els " + lon + " car\u00E0cters.";
return function (control) {
if (!control.value || control.value.length <= lon) {
return null;
}
else {
var ret = {};
ret[errorKey] = true;
return ret;
}
};
};
CustomValidators.buildCantidadMinValidator = function (min) {
var errorKey = "invalidCantidadMin-" + min;
this.config[errorKey] = "Format incorrecte. Nom\u00E9s s'accepten valors num\u00E8rics majors o iguals que " + min;
return function (control) {
var num = Number(control.value);
if (control.value === "") {
return null;
}
else if (isNaN(num) || num >= min) {
// si no es numerico o el valor >= min, pasa la validacion
return null;
}
else {
var ret = {};
ret[errorKey] = true;
return ret;
}
};
};
CustomValidators.buildCantidadMaxValidator = function (max) {
var errorKey = "invalidCantidadMax-" + max;
this.config[errorKey] = "Format incorrecte. Nom\u00E9s s'accepten valors num\u00E8rics menors o iguals que " + max;
return function (control) {
var num = Number(control.value);
if (control.value === "") {
return null;
}
else if (isNaN(num) || num <= max) {
// si no es numerico o el valor <= max, pasa la validacion
return null;
}
else {
var ret = {};
ret[errorKey] = true;
return ret;
}
};
};
CustomValidators.buildCantidadMinMaxValidator = function (min, max) {
var errorKey = "invalidCantidadMinMax-" + min + "-" + max;
this.config[errorKey] = "Format incorrecte. Nom\u00E9s s'accepten valors num\u00E8rics entre " + min + " i " + max;
return function (control) {
var num = Number(control.value);
if (control.value === "") {
return null;
}
else if (!isNaN(num) && num >= min && num <= max) {
return null;
}
else {
var ret = {};
ret[errorKey] = true;
return ret;
}
};
};
CustomValidators.porcentajeValidator = function (control) {
// expected a numeric value between 0 and 100
if (!control.value || control.value === "") {
return null;
}
else {
var n = Number(control.value);
if (!isNaN(n) && n >= 0 && n <= 100) {
return null;
}
else {
return { invalidPorcentaje: true };
}
}
};
CustomValidators.urlValidator = function (control) {
var pattern = new RegExp("^(https?:\\/\\/)?" + // protocol
"((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|" + // domain name
"((\\d{1,3}\\.){3}\\d{1,3}))" + // OR ip (v4) address
"(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*" + // port and path
"(\\?[;&a-z\\d%_.~+=-]*)?" + // query string
"(\\#[-a-z\\d_]*)?$", "i"); // fragment locator
if (!control.value || pattern.test(control.value)) {
return null;
}
else {
return { invalidUrl: true };
}
};
CustomValidators.pathValidator = function (control) {
var pattern = new RegExp("^((\\/)?[-a-z\\d%_.~+]*)*" + // port and path
"(\\?[;&a-z\\d%_.~+=-]*)?" + // query string
"(\\#[-a-z\\d_]*)?$", "i"); // fragment locator
if (!control.value || pattern.test(control.value)) {
return null;
}
else {
return { invalidPath: true };
}
};
/**
* Retorna un string con todos los errores que contiene el formulario separados por saltos de línea.
*/
CustomValidators.validateForm = function (form, prefix) {
var mensajes = [];
// errores a nivel de grupo
for (var errorKey in form.errors) {
var pr = prefix ? prefix + ": " : "";
mensajes.push("" + pr + CustomValidators.config[errorKey]);
}
var _loop_1 = function (controlKey) {
var control = form.controls[controlKey];
if (!control.valid) {
// no es válido, hay mensajes que recuperar
var controlLabel_1 = prefix ? prefix + " > " + controlKey : controlKey; // nombre apilado
// detectamos si es un campo o un formulario anidado
if (control instanceof forms_1.FormGroup) {
// es un formulario anidado, seguimos bajando recursivamente
mensajes = mensajes.concat(CustomValidators.validateForm(control, controlLabel_1));
}
else if (control instanceof forms_1.FormControl) {
// es un campo final, añadimos sus mensajes de error
for (var errorKey in control.errors) {
mensajes.push(controlLabel_1 + ": " + CustomValidators.config[errorKey]);
}
}
else if (control instanceof forms_1.FormArray) {
// es una lista de controles anidada, la recorremos
control.controls &&
control.controls.forEach(function (arrControl, index) {
var arrControlLabel = controlLabel_1 + " > " + index;
if (arrControl instanceof forms_1.FormGroup) {
// es una lista de FormGroups, bajamos a ellos recursivamente
mensajes = mensajes.concat(CustomValidators.validateForm(arrControl, arrControlLabel));
}
else if (arrControl instanceof forms_1.FormControl) {
// es una lista de FormControls, los tratamos desde aquí
for (var errorKey in control.errors) {
mensajes.push(arrControlLabel + ": " + CustomValidators.config[errorKey]);
}
}
else {
// ??? ¿Un array de arrays? No está previsto.
console.log("[CustomValidators] Unexpected FormArray with nested FormArrays");
}
});
}
}
};
for (var controlKey in form.controls) {
_loop_1(controlKey);
}
return mensajes;
};
/**
* Recibe un objeto con las propiedades {fieldTipo, fieldNumero} y devuelve un validador de formulario para documentos de identificación.
* El error que puede generarse es del tipo 'invalidNumeroDocumentoTipoDocumento'.
*/
CustomValidators.buildNumeroDocumentoValidator = function (_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.fieldTipo, fieldTipo = _c === void 0 ? "documentoTipo" : _c, _d = _b.fieldNumero, fieldNumero = _d === void 0 ? "documentoNumero" : _d;
return function (g) {
if (!g) {
return null;
}
var documentoTipo = g.get(fieldTipo) && g.get(fieldTipo).value;
var documentoNumero = g && g.get(fieldNumero) && g.get(fieldNumero).value;
var invalid = false;
if (documentoTipo && documentoNumero) {
if (documentoTipo == "DNI") {
invalid = !CustomValidators.isValidDNI(documentoNumero);
}
else if (documentoTipo == "CIF") {
invalid = !CustomValidators.isValidCIF(documentoNumero);
}
else if (documentoTipo == "NIF") {
//invalid = !documentoNumero.match(/^[0-9]{8}[a-z|A-Z]$/);
invalid = !CustomValidators.isValidNIF(documentoNumero);
}
else if (documentoTipo == "NIE") {
invalid = !CustomValidators.isValidNIE(documentoNumero);
}
}
if (invalid) {
return { invalidNumeroDocumentoTipoDocumento: true };
}
else {
return null;
}
};
};
CustomValidators.nifValidator = function (control) {
if (!control.value || CustomValidators.isValidNIF(control.value)) {
return null;
}
else {
return { invalidNIF: true };
}
};
CustomValidators.nieValidator = function (control) {
if (!control.value || CustomValidators.isValidNIE(control.value)) {
return null;
}
else {
return { invalidNIE: true };
}
};
CustomValidators.nifNieValidator = function (control) {
if (!control.value || CustomValidators.isValidNIF(control.value) || CustomValidators.isValidNIE(control.value)) {
return null;
}
else {
return { invalidNIFNIE: true };
}
};
CustomValidators.cifValidator = function (control) {
var pattern = new RegExp(/^[a-z|A-Z][0-9]{7}[a-z|A-Z|0-9]/); // TODO
if (!control.value || pattern.test(control.value)) {
return null;
}
else {
return { invalidCIF: true };
}
};
CustomValidators.nifNieCipValidator = function (control) {
if (!control.value ||
CustomValidators.isValidNIF(control.value) ||
CustomValidators.isValidNIE(control.value) ||
CustomValidators.isValidCIP(control.value)) {
return null;
}
else {
return { invalidNIFNIECIP: true };
}
};
CustomValidators.cipValidator = function (control) {
if (!control.value || CustomValidators.isValidCIP(control.value)) {
return null;
}
else {
return { invalidCIP: true };
}
};
CustomValidators.anyoValidator = function (control) {
var pattern = new RegExp(/^[0-9]{4}$/); // TODO
if (!control.value || pattern.test(control.value)) {
return null;
}
else {
return { invalidAnyo: true };
}
};
CustomValidators.isValidDNI = function (value) {
return true; // ¿deberíamos validar algo? Con letra ya tenemos el NIF
};
// https://github.com/jquery-validation/jquery-validation/blob/master/src/additional/cifES.js
CustomValidators.isValidCIF = function (value) {
var cifRegEx = new RegExp(/^([ABCDEFGHJKLMNPQRSUVW])(\d{7})([0-9A-J])$/gi);
var letter = value.substring(0, 1), // [ T ]
number = value.substring(1, 8), // [ P ][ P ][ N ][ N ][ N ][ N ][ N ]
control = value.substring(8, 9), // [ C ]
all_sum = 0, even_sum = 0, odd_sum = 0, i, n, control_digit, control_letter;
function isOdd(n) {
return n % 2 === 0;
}
// Quick format test
if (value.length !== 9 || !cifRegEx.test(value)) {
return false;
}
for (i = 0; i < number.length; i++) {
n = parseInt(number[i], 10);
// Odd positions
if (isOdd(i)) {
// Odd positions are multiplied first.
n *= 2;
// If the multiplication is bigger than 10 we need to adjust
odd_sum += n < 10 ? n : n - 9;
// Even positions
// Just sum them
}
else {
even_sum += n;
}
}
all_sum = even_sum + odd_sum;
control_digit = (10 - Number(all_sum.toString().substr(-1))).toString();
control_digit = parseInt(control_digit, 10) > 9 ? "0" : control_digit;
control_letter = "JABCDEFGHI".substr(control_digit, 1).toString();
// Control must be a digit
if (letter.match(/[ABEH]/)) {
return control === control_digit;
// Control must be a letter
}
else if (letter.match(/[KPQS]/)) {
return control === control_letter;
}
// Can be either
return control === control_digit || control === control_letter;
};
// https://github.com/jquery-validation/jquery-validation/blob/master/src/additional/nifES.js
CustomValidators.isValidNIF = function (value) {
value = value.toUpperCase();
// Basic format test
if (!value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")) {
return false;
}
// Test NIF
if (/^[0-9]{8}[A-Z]{1}$/.test(value)) {
return "TRWAGMYFPDXBNJZSQVHLCKE".charAt(Number(value.substring(8, 0)) % 23) === value.charAt(8);
}
// Test specials NIF (starts with K, L or M)
if (/^[KLM]{1}/.test(value)) {
return value[8] !== "TRWAGMYFPDXBNJZSQVHLCKE".charAt(Number(value.substring(8, 1)) % 23);
}
return false;
};
CustomValidators.isValidNIE = function (value) {
// Un NIE sigue una validación muy similar a la de un DNI, con la diferencia
// de que en lugar de ser ocho números + letra debe ser letra + siete números + letra,
// siendo la primera letra X, Y o Z sustituible por 0, 1 o 2 respectivamente.
var nieRegEx = new RegExp(/^[XYZ]{1}[0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/gi);
// Si no tiene el formato básico, no es válido
if (!nieRegEx.test(value)) {
return false;
}
// Sustituimos la primera letra por el número equivalente y reaprovechamos la validación de NIF
value = value.toString().toUpperCase().replace(/^[X]/, "0").replace(/^[Y]/, "1").replace(/^[Z]/, "2");
return CustomValidators.isValidNIF(value);
};
CustomValidators.isValidCIP = function (value) {
// Un CIP son 11 caracteres, de los cuales el primero es "3"
var cipRegEx = new RegExp(/^3[0-9]{10}$/gi);
// Si no tiene el formato básico, no es válido
if (!cipRegEx.test(value)) {
return false;
}
return true;
};
CustomValidators.rangoFechasValidator = function (_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.fieldFechaInicio, fieldFechaInicio = _c === void 0 ? "fechaInicio" : _c, _d = _b.fieldFechaFin, fieldFechaFin = _d === void 0 ? "fechaFin" : _d;
return function (g) {
if (!g) {
return null;
}
var fechaInicio = g.get(fieldFechaInicio) && g.get(fieldFechaInicio).value;
var fechaFin = g && g.get(fieldFechaFin) && g.get(fieldFechaFin).value;
if (fechaInicio && fechaFin) {
var inicio = general_utils_service_1.GeneralUtils.stringShortToDate(fechaInicio);
var fin = general_utils_service_1.GeneralUtils.stringShortToDate(fechaFin);
if (inicio > fin) {
return { invalidRangoFechaFinPosteriorInicio: true, requiredTipoDatoTipoCheck: true };
}
}
return null;
};
};
CustomValidators.rangoHorasValidator = function (_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.fieldHoraInicio, fieldHoraInicio = _c === void 0 ? "horaInicio" : _c, _d = _b.fieldHoraFin, fieldHoraFin = _d === void 0 ? "horaFin" : _d;
return function (g) {
if (!g) {
return null;
}
var inicio = g.get(fieldHoraInicio) &&
g.get(fieldHoraInicio).value &&
general_utils_service_1.GeneralUtils.stringToTime(g.get(fieldHoraInicio).value);
var fin = g && g.get(fieldHoraFin) && g.get(fieldHoraFin).value && general_utils_service_1.GeneralUtils.stringToTime(g.get(fieldHoraFin).value);
if (inicio && fin && inicio >= fin) {
return { invalidRangoHoraFinPosteriorInicio: true };
}
return null;
};
};
CustomValidators.dateTimeNotAfterCurrentDateValidator = function (_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.fieldfecha, fieldfecha = _c === void 0 ? "fecha" : _c, _d = _b.fieldHora, fieldHora = _d === void 0 ? "hora" : _d;
return function (g) {
if (!g) {
return null;
}
var campoFecha = g.get(fieldfecha);
var campoHora = g.get(fieldHora);
if (campoFecha &&
campoFecha.value &&
campoFecha.value.match(/^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/(19|20)\d{2}$/)) {
var date = general_utils_service_1.GeneralUtils.getStringAsDate(campoFecha.value);
if (campoHora && campoHora.value && campoHora.value.match(/^[0-9][0-9]:[0-9][0-9]$/)) {
date.setHours(campoHora.value.split(":")[0]);
date.setMinutes(campoHora.value.split(":")[1]);
}
if (date < new Date()) {
return { invalidDateTimeNotAfterCurrentDate: true };
}
}
return null;
};
};
CustomValidators.buildMinLongitudValidator = function (lon) {
var errorKey = "invalidLongitud-" + lon;
this.config[errorKey] = "El camp ha de tenir almenys " + lon + " car\u00E0cters.";
return function (control) {
if (!control.value || control.value.length >= lon) {
return null;
}
else {
var ret = {};
ret[errorKey] = true;
return ret;
}
};
};
CustomValidators.config = {
required: "Camp obligatori",
invalidDate: "Data incorrecta",
invalidTime: "Format hora incorrecte",
invalidEmailAddress: "Adreça electrònica incorrecta",
invalidEmailCSVAddress: "Format adreça electrònica incorrecte",
invalidLogin: "Login incorrecte",
invalidEtiqueta: 'Etiqueta incorrecta, només s\'accepten valors alfanumèrics i "_"',
invalidName: "Valor incorrecte",
invalidCodigo: "Format de codi incorrecte",
invalidAlfanumerico: "Format alfanumèric incorrecte",
invalidCantidad: "Format incorrecte, només s'accepten valors numèrics (sense decimals)",
invalidEnteroPositivo: "Introdueixi un valor numèric positiu (sense decimals) ",
invalidEnteroPositivoIncluyeCero: "Introdueixi numèrics (sense decimals) majors o iguals que zero",
invalidCantidadDecimal: "Format incorrecte, només s'accepten valors numèrics (amb decimals)",
invalidNumeroPositivo: "Introdueixi un valor numèric positiu (amb decimals)",
invalidCodigoPostal: "Introdueixi 5 dígits",
invalidTelefono: "Número de telèfon incorrecte. Si és un telèfon nacional, introdueixi 9 dígits. Si és un telèfon internacional, introdueixi 00, el prefix del país i el número de telèfon (p. ex., 00491234567890).",
invalidPorcentaje: "Percentatge incorrecte, només s'accepten valors numèrics entre 0 i 100",
invalidUrl: "Adreça web incorrecta",
invalidPath: "Ruta incorrecte",
invalidNIF: "NIF incorrecte",
invalidNIE: "NIE incorrecte",
invalidCIF: "CIF incorrecte",
invalidNIFNIE: "NIF/NIE incorrecte",
invalidNIFNIECIP: "NIF/NIE/CIP incorrecte",
invalidCIP: "CIP incorrecte",
invalidAnyo: "Format incorrecte, només s'accepten anys amb quatre dígits",
maxlength: "Camp massa llarg",
invalidNumeroDocumentoTipoDocumento: "Format del número de document incorrecte",
direccionIncompleta: "El municipi i codi postal de l'adreça obligatoris",
requiredExtraData: "Altres dades són obligatòries",
invalidRangoFechaFinPosteriorInicio: "La data de fi ha de ser posterior a la data d'inici",
invalidRangoHoraFinPosteriorInicio: "L'hora de fi ha de ser posterior a l'hora d'inici",
invalidDateTimeNotAfterCurrentDate: "La data i hora han de ser posteriors a la data actual",
// Cathos
requiredProtocoloId: "Heu d'especificar un protocol d'inspecció",
requiredTipoDatoTipoCheck: "Heu d'especificar si el tipus de dada aplica a tramitacions, inspeccions i/o autoavaluacions",
// Bitcita
agendaInvalidRangoFechaFinPosteriorInicio: "La data de fi ha de ser posterior a la data d'inici",
agendaInvalidRangoFechaCampanya: "Les dates d'inici i de fi han de ser dins el període de la campanya",
agendaInvalidSeleccionServicios: "Heu de seleccionar almenys un servei",
agendaInvalidPlazasServicioMultiple: "Heu d'indicar el nombre de places del servei múltiple",
agendaInvalidSeleccionHorario: "És necessari omplir almenys una hora d`inici i una hora de fi de qualsevol dia per guardar l'agenda",
// CitaIVR Back
llamadasCamposObligatorios: "Per favor, indiqui almenys un dels següents camps de cerca: transacció, telèfon, data, sol·licitant",
transaccionCamposObligatorios: "Per favor, indiqui una transacció o una data de cerca"
};
CustomValidators.CustomValidatorsMap = {
codigoNumerico: CustomValidators.codigoValidator,
codigoAlfanumerico: CustomValidators.alfanumericoValidator,
nombre: CustomValidators.nombreValidator,
numero: CustomValidators.cantidadDecimalValidator,
entero: CustomValidators.cantidadValidator,
numeroPositivo: CustomValidators.numeroPositivoValidator,
enteroPositivo: CustomValidators.enteroPositivoValidator,
nif: CustomValidators.nifValidator,
nie: CustomValidators.nieValidator,
cif: CustomValidators.cifValidator,
nifnie: CustomValidators.nifNieValidator,
nifniecip: CustomValidators.nifNieCipValidator,
cip: CustomValidators.cipValidator,
cp: CustomValidators.codigoPostalValidator,
telefono: CustomValidators.telefonoValidator,
email: CustomValidators.emailValidator,
fecha: CustomValidators.dataValidator,
anyo: CustomValidators.anyoValidator
};
CustomValidators.ɵfac = function CustomValidators_Factory(t) { return new (t || CustomValidators)(); };
CustomValidators.ɵprov = i0.ɵɵdefineInjectable({ token: CustomValidators, factory: CustomValidators.ɵfac });
return CustomValidators;
}());
exports.CustomValidators = CustomValidators;
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomValidators, [{
type: core_1.Injectable
}], null, null); })();
//# sourceMappingURL=custom-validators.service.js.map