joi-us-zipcode
Version:
Joi extension to validate USA zip codes
28 lines (20 loc) • 666 B
JavaScript
;
var _zipcodes = require('./zipcodes.json');
var _zipcodes2 = _interopRequireDefault(_zipcodes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = joi => ({
base: joi.string(),
language: {
usZipCode: `must be a 5-digit string with one of the following values: ${JSON.stringify(_zipcodes2.default)}`
},
name: 'string',
rules: [{
name: 'usZipCode',
validate(params, value, state, options) {
if (!_zipcodes2.default.includes(value)) {
return this.createError('string.usZipCode', { value }, state, options);
}
return value;
}
}]
});