UNPKG

im-angular-validators

Version:

This library will help you with lots of already written mostly used validators for Angular 2+ applications.

21 lines 4.02 kB
export class IMRequiredValidatorConfigModel { } export const IMRequiredValidator = (config = new IMRequiredValidatorConfigModel()) => { return (control) => { if (control.value || control.value === 0 || control.value === false) { switch (typeof control.value) { case 'string': return config.isTrimValueRequired ? control.value.trim() ? null : { fieldRequiredError: true } : null; case 'number': return control.value === 0 && !config.isZeroAllowed ? { fieldRequiredError: true } : null; case 'boolean': return control.value === false && config.isCheckboxShouldBeChecked ? { fieldRequiredError: true } : null; default: return null; } } else { return { fieldRequiredError: true }; } }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci12YWxpZGF0b3JzL3NyYy9saWIvdmFsaWRhdG9ycy9yZXF1aXJlZC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLDhCQUE4QjtDQUkxQztBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBeUMsSUFBSSw4QkFBOEIsRUFBRSxFQUFlLEVBQUU7SUFDaEksT0FBTyxDQUFDLE9BQXdCLEVBQW9CLEVBQUU7UUFDcEQsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ25FLFFBQVEsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUM1QixLQUFLLFFBQVE7b0JBQ1gsT0FBTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN0RyxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDMUYsS0FBSyxTQUFTO29CQUNaLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFDLGtCQUFrQixFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pHLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDO2FBQ3RCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQTZCLENBQUM7U0FDL0Q7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtJTVJlcXVpcmVkRXJyb3JJbnRlcmZhY2V9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVxdWlyZWQtZXJyb3IuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBJTVJlcXVpcmVkVmFsaWRhdG9yQ29uZmlnTW9kZWwge1xyXG4gIHB1YmxpYyBpc1RyaW1WYWx1ZVJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBwdWJsaWMgaXNaZXJvQWxsb3dlZD86IGJvb2xlYW47XHJcbiAgcHVibGljIGlzQ2hlY2tib3hTaG91bGRCZUNoZWNrZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSU1SZXF1aXJlZFZhbGlkYXRvciA9IChjb25maWc6IElNUmVxdWlyZWRWYWxpZGF0b3JDb25maWdNb2RlbCA9IG5ldyBJTVJlcXVpcmVkVmFsaWRhdG9yQ29uZmlnTW9kZWwoKSk6IFZhbGlkYXRvckZuID0+IHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgfHwgY29udHJvbC52YWx1ZSA9PT0gMCB8fCBjb250cm9sLnZhbHVlID09PSBmYWxzZSkge1xyXG4gICAgICBzd2l0Y2ggKHR5cGVvZiBjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgIHJldHVybiBjb25maWcuaXNUcmltVmFsdWVSZXF1aXJlZCA/IGNvbnRyb2wudmFsdWUudHJpbSgpID8gbnVsbCA6IHtmaWVsZFJlcXVpcmVkRXJyb3I6IHRydWV9IDogbnVsbDtcclxuICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUgPT09IDAgJiYgIWNvbmZpZy5pc1plcm9BbGxvd2VkID8ge2ZpZWxkUmVxdWlyZWRFcnJvcjogdHJ1ZX0gOiBudWxsO1xyXG4gICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUgPT09IGZhbHNlICYmIGNvbmZpZy5pc0NoZWNrYm94U2hvdWxkQmVDaGVja2VkID8ge2ZpZWxkUmVxdWlyZWRFcnJvcjogdHJ1ZX0gOiBudWxsO1xyXG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4ge2ZpZWxkUmVxdWlyZWRFcnJvcjogdHJ1ZX0gYXMgSU1SZXF1aXJlZEVycm9ySW50ZXJmYWNlO1xyXG4gICAgfVxyXG4gIH07XHJcbn07XHJcbiJdfQ==