moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
42 lines • 3.69 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 commonValidateRegion = (/**
* @param {?} control
* @return {?}
*/
(control) => {
/**
* Valid characters for country/province/region names
* @type {?}
*/
const criteria = RegExp('^(?=.*[a-zA-Z])[a-zA-Z\-.\' ]*$');
if (control.value) {
/** @type {?} */
const result = criteria.test(control.value);
return result ? null : { 'invalidChar': true };
}
return null;
});
export class ValidateRegionDirective {
/**
* @param {?} control
* @return {?}
*/
validate(control) {
return commonValidateRegion(control);
}
}
ValidateRegionDirective.decorators = [
{ type: Directive, args: [{
selector: '[commonValidateRegion]',
providers: [
{ provide: NG_VALIDATORS, useExisting: ValidateRegionDirective, multi: true }
]
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcmVnaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdmFsaWRhdGUtcmVnaW9uL3ZhbGlkYXRlLXJlZ2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFrRCxhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFMUcsTUFBTSxPQUFPLG9CQUFvQjs7OztBQUFnQixDQUFDLE9BQXdCLEVBQTJCLEVBQUU7Ozs7O1VBS2hHLFFBQVEsR0FBVyxNQUFNLENBQUUsaUNBQWlDLENBQUU7SUFFcEUsSUFBSyxPQUFPLENBQUMsS0FBSyxFQUFHOztjQUNaLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUU7UUFDN0MsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDakQ7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNiLENBQUMsQ0FBQTtBQVFELE1BQU0sT0FBTyx1QkFBdUI7Ozs7O0lBRWxDLFFBQVEsQ0FBRSxPQUF3QjtRQUVoQyxPQUFPLG9CQUFvQixDQUFFLE9BQU8sQ0FBRSxDQUFDO0lBQ3pDLENBQUM7OztZQVhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2lCQUM1RTthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjb25zdCBjb21tb25WYWxpZGF0ZVJlZ2lvbjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG5cclxuICAvKipcclxuICAgKiBWYWxpZCBjaGFyYWN0ZXJzIGZvciBjb3VudHJ5L3Byb3ZpbmNlL3JlZ2lvbiBuYW1lc1xyXG4gICAqL1xyXG4gY29uc3QgY3JpdGVyaWE6IFJlZ0V4cCA9IFJlZ0V4cCggJ14oPz0uKlthLXpBLVpdKVthLXpBLVpcXC0uXFwnIF0qJCcgKTtcclxuXHJcbiBpZiAoIGNvbnRyb2wudmFsdWUgKSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBjcml0ZXJpYS50ZXN0KCBjb250cm9sLnZhbHVlICk7XHJcbiAgICByZXR1cm4gcmVzdWx0ID8gbnVsbCA6IHsgJ2ludmFsaWRDaGFyJzogdHJ1ZSB9O1xyXG4gfVxyXG4gcmV0dXJuIG51bGw7XHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tjb21tb25WYWxpZGF0ZVJlZ2lvbl0nLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBWYWxpZGF0ZVJlZ2lvbkRpcmVjdGl2ZSwgbXVsdGk6IHRydWV9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVSZWdpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xyXG5cclxuICB2YWxpZGF0ZSggY29udHJvbDogQWJzdHJhY3RDb250cm9sICk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHwgbnVsbCB7XHJcblxyXG4gICAgcmV0dXJuIGNvbW1vblZhbGlkYXRlUmVnaW9uKCBjb250cm9sICk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=