lamb-web-lib
Version:
LambWebLib. Es un proyecto angular de tipo Librería. que contiene una Suit de componentes reutilizables para el proyecto [Lamb Financial](https://lamb.upeu.edu.pe).
151 lines • 13.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
export class LambValidatorsService {
constructor() { }
/**
* Validador que acepta solo números positivos.
* @param {?} control
* @return {?}
*/
positiveNumber(control) {
/** @type {?} */
let error = null;
/** @type {?} */
const regexp = /^[0-9]*$/;
if (control.value !== undefined
&& !regexp.test(control.value) && (isNaN(control.value) || control.value <= 0)) {
error = {
'positiveNumber': {
valid: false,
},
};
}
return error;
}
/**
* Validadtor que acepta solo numeros.
* @param {?} control
* @return {?}
*/
number(control) {
/** @type {?} */
let error = null;
/** @type {?} */
const regexp = /^[0-9]*$/;
if (control.value !== undefined && !regexp.test(control.value) && isNaN(control.value)) {
error = {
'number': '...',
};
}
return error;
}
/**
* Validadtor que acepta números no negativos.
* @param {?} control
* @return {?}
*/
notNegativeNumber(control) {
/** @type {?} */
let error = null;
/** @type {?} */
const regexp = /^[0-9]+([.][0-9]+)?$/;
if (control.value !== undefined && !regexp.test(control.value)
&& (isNaN(control.value) || control.value <= 0)) {
error = {
'notNegativeNumber': {
valid: false,
},
};
}
return error;
}
/**
* Validador que acepta numeros y letras en mayuscula
* @param {?} control
* @return {?}
*/
uppercase(control) {
/** @type {?} */
let error = null;
/** @type {?} */
const regexp = /^[A-Z0-9\s]*$/;
if (control.value !== undefined && !regexp.test(control.value)) {
error = {
'uppercase': {
valid: false,
},
};
}
return error;
}
/**
* Validador que acepta numeros y letras en minuscula
* @param {?} control
* @return {?}
*/
lowercase(control) {
/** @type {?} */
let error = null;
/** @type {?} */
const regexp = /^[a-z0-9\s]*$/;
if (control.value !== undefined && !regexp.test(control.value)) {
error = {
'lowercase': {
valid: false,
},
};
}
return error;
}
/**
* Validator que no acepta espacios en blanco.
* @param {?} control
* @return {?}
*/
empty(control) {
/** @type {?} */
let error = null;
// const regexp = /(.|\s)*\S(.|\s)*/;
/** @type {?} */
const regexp = /^$|\s+/;
if (control.value !== undefined && regexp.test(control.value)) {
error = {
'empty': {
valid: false,
},
};
}
return error;
}
/**
* @param {?} control
* @return {?}
*/
birthYear(control) {
/** @type {?} */
const numValue = Number(control.value);
/** @type {?} */
const currentYear = new Date().getFullYear();
/** @type {?} */
const minYear = currentYear - 85;
/** @type {?} */
const maxYear = currentYear - 18;
/** @type {?} */
const isValid = !isNaN(numValue) && numValue >= minYear && numValue <= maxYear;
/** @type {?} */
const message = {
'years': {
'message': 'The year must be a valid number between ' + minYear + ' and ' + maxYear,
},
};
return isValid ? null : message;
}
}
LambValidatorsService.decorators = [
{ type: Injectable },
];
LambValidatorsService.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbGFtYi13ZWItbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2hvdy1lcnJvci9zZXJ2aWNlcy92YWxpZGF0b3JzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsTUFBTTtJQUVGLGdCQUFnQixDQUFDOzs7Ozs7SUFNakIsY0FBYyxDQUFDLE9BQXdCOztZQUMvQixLQUFLLEdBQUcsSUFBSTs7Y0FDVixNQUFNLEdBQUcsVUFBVTtRQUN6QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7ZUFDeEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsS0FBSyxHQUFHO2dCQUNKLGdCQUFnQixFQUFFO29CQUNkLEtBQUssRUFBRSxLQUFLO2lCQUNmO2FBQ0osQ0FBQztRQUNOLENBQUM7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7Ozs7OztJQU1ELE1BQU0sQ0FBQyxPQUF3Qjs7WUFDdkIsS0FBSyxHQUFHLElBQUk7O2NBQ1YsTUFBTSxHQUFHLFVBQVU7UUFDekIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRixLQUFLLEdBQUc7Z0JBQ0osUUFBUSxFQUFFLEtBQUs7YUFDbEIsQ0FBQztRQUNOLENBQUM7UUFDRCxNQUFN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clxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTGFtYlZhbGlkYXRvcnNTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhZG9yIHF1ZSBhY2VwdGEgc29sbyBuw7ptZXJvcyBwb3NpdGl2b3MuXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbFxyXG4gICAgICovXHJcbiAgICBwb3NpdGl2ZU51bWJlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgICAgICBsZXQgZXJyb3IgPSBudWxsO1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IC9eWzAtOV0qJC87XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICAmJiAhcmVnZXhwLnRlc3QoY29udHJvbC52YWx1ZSkgJiYgKGlzTmFOKGNvbnRyb2wudmFsdWUpIHx8IGNvbnRyb2wudmFsdWUgPD0gMCkpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAncG9zaXRpdmVOdW1iZXInOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhZHRvciBxdWUgYWNlcHRhIHNvbG8gbnVtZXJvcy5cclxuICAgICAqIEBwYXJhbSBjb250cm9sXHJcbiAgICAgKi9cclxuICAgIG51bWJlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgICAgICBsZXQgZXJyb3IgPSBudWxsO1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IC9eWzAtOV0qJC87XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhcmVnZXhwLnRlc3QoY29udHJvbC52YWx1ZSkgJiYgaXNOYU4oY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAnbnVtYmVyJzogJy4uLicsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZhbGlkYWR0b3IgcXVlIGFjZXB0YSBuw7ptZXJvcyBubyBuZWdhdGl2b3MuXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbFxyXG4gICAgICovXHJcbiAgICBub3ROZWdhdGl2ZU51bWJlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgICAgICBsZXQgZXJyb3IgPSBudWxsO1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IC9eWzAtOV0rKFsuXVswLTldKyk/JC87XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhcmVnZXhwLnRlc3QoY29udHJvbC52YWx1ZSlcclxuICAgICAgICAgICAgJiYgKGlzTmFOKGNvbnRyb2wudmFsdWUpIHx8IGNvbnRyb2wudmFsdWUgPD0gMCkpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAnbm90TmVnYXRpdmVOdW1iZXInOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhZG9yIHF1ZSBhY2VwdGEgbnVtZXJvcyB5IGxldHJhcyBlbiBtYXl1c2N1bGFcclxuICAgICAqIEBwYXJhbSBjb250cm9sXHJcbiAgICAgKi9cclxuICAgIHVwcGVyY2FzZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgICAgICBsZXQgZXJyb3IgPSBudWxsO1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IC9eW0EtWjAtOVxcc10qJC87XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhcmVnZXhwLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAndXBwZXJjYXNlJzoge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxpZGFkb3IgcXVlIGFjZXB0YSBudW1lcm9zIHkgbGV0cmFzIGVuIG1pbnVzY3VsYVxyXG4gICAgICogQHBhcmFtIGNvbnRyb2xcclxuICAgICAqL1xyXG4gICAgbG93ZXJjYXNlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xyXG4gICAgICAgIGxldCBlcnJvciA9IG51bGw7XHJcbiAgICAgICAgY29uc3QgcmVnZXhwID0gL15bYS16MC05XFxzXSokLztcclxuICAgICAgICBpZiAoY29udHJvbC52YWx1ZSAhPT0gdW5kZWZpbmVkICYmICFyZWdleHAudGVzdChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICAgICAgICBlcnJvciA9IHtcclxuICAgICAgICAgICAgICAgICdsb3dlcmNhc2UnOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhdG9yIHF1ZSBubyBhY2VwdGEgZXNwYWNpb3MgZW4gYmxhbmNvLlxyXG4gICAgICogQHBhcmFtIGNvbnRyb2xcclxuICAgICAqL1xyXG4gICAgZW1wdHkoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICAgICAgbGV0IGVycm9yID0gbnVsbDtcclxuICAgICAgICAvLyBjb25zdCByZWdleHAgPSAvKC58XFxzKSpcXFMoLnxcXHMpKi87XHJcbiAgICAgICAgY29uc3QgcmVnZXhwID0gL14kfFxccysvO1xyXG4gICAgICAgIGlmIChjb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcmVnZXhwLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAnZW1wdHknOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGJpcnRoWWVhcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgICAgICBjb25zdCBudW1WYWx1ZSA9IE51bWJlcihjb250cm9sLnZhbHVlKTtcclxuICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICBjb25zdCBtaW5ZZWFyID0gY3VycmVudFllYXIgLSA4NTtcclxuICAgICAgICBjb25zdCBtYXhZZWFyID0gY3VycmVudFllYXIgLSAxODtcclxuICAgICAgICBjb25zdCBpc1ZhbGlkID0gIWlzTmFOKG51bVZhbHVlKSAmJiBudW1WYWx1ZSA+PSBtaW5ZZWFyICYmIG51bVZhbHVlIDw9IG1heFllYXI7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IHtcclxuICAgICAgICAgICAgJ3llYXJzJzoge1xyXG4gICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAnVGhlIHllYXIgbXVzdCBiZSBhIHZhbGlkIG51bWJlciBiZXR3ZWVuICcgKyBtaW5ZZWFyICsgJyBhbmQgJyArIG1heFllYXIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQgPyBudWxsIDogbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19