moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
42 lines • 3.61 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive } from '@angular/core';
import { NG_VALIDATORS } from '@angular/forms';
/** @type {?} */
export const commonValidateCity = (/**
* @param {?} control
* @return {?}
*/
(control) => {
/**
* Valid characters for city names
* @type {?}
*/
const criteria = RegExp('^(?=.*[a-zA-Z])[a-zA-Z0-9\-.\' ]*$');
if (control.value) {
/** @type {?} */
const result = criteria.test(control.value);
return result ? null : { 'invalidChar': true };
}
return null;
});
export class ValidateCityDirective {
/**
* @param {?} control
* @return {?}
*/
validate(control) {
return commonValidateCity(control);
}
}
ValidateCityDirective.decorators = [
{ type: Directive, args: [{
selector: '[commonValidateCity]',
providers: [
{ provide: NG_VALIDATORS, useExisting: ValidateCityDirective, multi: true }
]
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtY2l0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9tb2gtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NpdHkvdmFsaWRhdGUtY2l0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFrRCxhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFMUcsTUFBTSxPQUFPLGtCQUFrQjs7OztBQUFnQixDQUFDLE9BQXdCLEVBQTJCLEVBQUU7Ozs7O1VBSzlGLFFBQVEsR0FBVyxNQUFNLENBQUUsb0NBQW9DLENBQUU7SUFFdkUsSUFBSyxPQUFPLENBQUMsS0FBSyxFQUFHOztjQUNaLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUU7UUFDN0MsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDakQ7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNiLENBQUMsQ0FBQTtBQVFELE1BQU0sT0FBTyxxQkFBcUI7Ozs7O0lBRWhDLFFBQVEsQ0FBRSxPQUF3QjtRQUVoQyxPQUFPLGtCQUFrQixDQUFFLE9BQU8sQ0FBRSxDQUFDO0lBQ3ZDLENBQUM7OztZQVhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2lCQUMxRTthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjb25zdCBjb21tb25WYWxpZGF0ZUNpdHk6IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWQgY2hhcmFjdGVycyBmb3IgIGNpdHkgbmFtZXNcclxuICAgKi9cclxuIGNvbnN0IGNyaXRlcmlhOiBSZWdFeHAgPSBSZWdFeHAoICdeKD89LipbYS16QS1aXSlbYS16QS1aMC05XFwtLlxcJyBdKiQnICk7XHJcblxyXG4gaWYgKCBjb250cm9sLnZhbHVlICkge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gY3JpdGVyaWEudGVzdCggY29udHJvbC52YWx1ZSApO1xyXG4gICAgcmV0dXJuIHJlc3VsdCA/IG51bGwgOiB7ICdpbnZhbGlkQ2hhcic6IHRydWUgfTtcclxuIH1cclxuIHJldHVybiBudWxsO1xyXG59O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY29tbW9uVmFsaWRhdGVDaXR5XScsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7cHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFZhbGlkYXRlQ2l0eURpcmVjdGl2ZSwgbXVsdGk6IHRydWV9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVDaXR5RGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcclxuXHJcbiAgdmFsaWRhdGUoIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCApOiB7W2tleTogc3RyaW5nXTogYW55fSB8IG51bGwge1xyXG5cclxuICAgIHJldHVybiBjb21tb25WYWxpZGF0ZUNpdHkoIGNvbnRyb2wgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==