im-angular-validators
Version:
This library will help you with lots of already written mostly used validators for Angular 2+ applications.
16 lines • 2.84 kB
JavaScript
import { IMCountryConfigurations } from '../constants/country-configurations.constant';
export const IMPostCodeValidator = (country) => {
const config = IMCountryConfigurations.find(item => item.country === country);
const regexp = new RegExp(config.postCodePattern);
return (control) => {
if (control.value && !regexp.test(control.value)) {
return {
postCodeError: {
isInvalid: true,
countryName: config.countryName
}
};
}
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1jb2RlLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdmFsaWRhdG9ycy9zcmMvbGliL3ZhbGlkYXRvcnMvcG9zdC1jb2RlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUtyRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQXNCLEVBQWUsRUFBRTtJQUN6RSxNQUFNLE1BQU0sR0FBNkIsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN4RyxNQUFNLE1BQU0sR0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFMUQsT0FBTyxDQUFDLE9BQXdCLEVBQTZDLEVBQUU7UUFDN0UsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEQsT0FBTztnQkFDTCxhQUFhLEVBQUU7b0JBQ2IsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2lCQUNoQzthQUNGLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0lNQ291bnRyeUNvbmZpZ3VyYXRpb25zfSBmcm9tICcuLi9jb25zdGFudHMvY291bnRyeS1jb25maWd1cmF0aW9ucy5jb25zdGFudCc7XHJcbmltcG9ydCB7SU1Db3VudHJ5Q29uZmlnSW50ZXJmYWNlfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvdW50cnktY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7SU1Qb3N0Q29kZUVycm9ySW50ZXJmYWNlfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Bvc3QtY29kZS1lcnJvci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0lNQ291bnRyeUVudW19IGZyb20gJy4uL2VudW1zL2NvdW50cnkuZW51bSc7XHJcblxyXG5leHBvcnQgY29uc3QgSU1Qb3N0Q29kZVZhbGlkYXRvciA9IChjb3VudHJ5OiBJTUNvdW50cnlFbnVtKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4gIGNvbnN0IGNvbmZpZzogSU1Db3VudHJ5Q29uZmlnSW50ZXJmYWNlID0gSU1Db3VudHJ5Q29uZmlndXJhdGlvbnMuZmluZChpdGVtID0+IGl0ZW0uY291bnRyeSA9PT0gY291bnRyeSk7XHJcbiAgY29uc3QgcmVnZXhwOiBSZWdFeHAgPSBuZXcgUmVnRXhwKGNvbmZpZy5wb3N0Q29kZVBhdHRlcm4pO1xyXG5cclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHtwb3N0Q29kZUVycm9yOiBJTVBvc3RDb2RlRXJyb3JJbnRlcmZhY2V9ID0+IHtcclxuICAgIGlmIChjb250cm9sLnZhbHVlICYmICFyZWdleHAudGVzdChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHBvc3RDb2RlRXJyb3I6IHtcclxuICAgICAgICAgIGlzSW52YWxpZDogdHJ1ZSxcclxuICAgICAgICAgIGNvdW50cnlOYW1lOiBjb25maWcuY291bnRyeU5hbWVcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuIl19