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