UNPKG

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
/** * @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