UNPKG

@dwp/govuk-casa

Version:

Framework for creating basic GOVUK Collect-And-Submit-Applications

36 lines (30 loc) 774 B
/** * Email address. * * This is not an exhaustive validation, and is permissive. * * Bound attributes: * string|object errorMsg = Error message to use on validation failure * * @param {string} value Email address * @returns {Promise} Promise */ const { isEmail } = require('validator'); const ValidationError = require('../ValidationError.js'); function email(value, dataContext = {}) { let isValid; try { isValid = isEmail(value); } catch (e) { isValid = false; } const errorMsg = this.errorMsg || { summary: 'validation:rule.email.summary', inline: 'validation:rule.email.inline', }; return isValid ? Promise.resolve() : Promise.reject(ValidationError.make({ errorMsg, dataContext, })); } module.exports = email;