UNPKG

class-validator

Version:

Decorator-based property validation for classes.

27 lines 1.88 kB
import { buildMessage, ValidateBy } from '../common/ValidateBy'; import isPostalCodeValidator from 'validator/lib/isPostalCode'; export const IS_POSTAL_CODE = 'isPostalCode'; /** * Check if the string is a postal code, * (locale is one of [ 'AD', 'AT', 'AU', 'BE', 'BG', 'BR', 'CA', 'CH', 'CZ', 'DE', 'DK', 'DZ', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'ID', 'IE' 'IL', 'IN', 'IR', 'IS', 'IT', 'JP', 'KE', 'LI', 'LT', 'LU', 'LV', 'MT', 'MX', 'NL', 'NO', 'NZ', 'PL', 'PR', 'PT', 'RO', 'RU', 'SA', 'SE', 'SI', 'TN', 'TW', 'UA', 'US', 'ZA', 'ZM' ] OR 'any'. If 'any' is used, function will check if any of the locals match. Locale list is validator.isPostalCodeLocales.). * If given value is not a string, then it returns false. */ export function isPostalCode(value, locale) { return typeof value === 'string' && isPostalCodeValidator(value, locale); } /** * Check if the string is a postal code, * (locale is one of [ 'AD', 'AT', 'AU', 'BE', 'BG', 'BR', 'CA', 'CH', 'CZ', 'DE', 'DK', 'DZ', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'ID', 'IE' 'IL', 'IN', 'IR', 'IS', 'IT', 'JP', 'KE', 'LI', 'LT', 'LU', 'LV', 'MT', 'MX', 'NL', 'NO', 'NZ', 'PL', 'PR', 'PT', 'RO', 'RU', 'SA', 'SE', 'SI', 'TN', 'TW', 'UA', 'US', 'ZA', 'ZM' ] OR 'any'. If 'any' is used, function will check if any of the locals match. Locale list is validator.isPostalCodeLocales.). * If given value is not a string, then it returns false. */ export function IsPostalCode(locale, validationOptions) { return ValidateBy({ name: IS_POSTAL_CODE, constraints: [locale], validator: { validate: (value, args) => isPostalCode(value, args.constraints[0]), defaultMessage: buildMessage(eachPrefix => eachPrefix + '$property must be a postal code', validationOptions), }, }, validationOptions); } //# sourceMappingURL=IsPostalCode.js.map