@dwp/govuk-casa
Version:
A framework for building GOVUK Collect-And-Submit-Applications
54 lines • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const validator_1 = __importDefault(require("validator"));
const ValidationError_js_1 = __importDefault(require("../ValidationError.js"));
const ValidatorFactory_js_1 = __importDefault(require("../ValidatorFactory.js"));
const utils_js_1 = require("../utils.js");
const { isEmail } = validator_1.default; // CommonJS
/**
* @typedef {import("../../casa").ErrorMessageConfig} ErrorMessageConfig
* @access private
*/
/**
* @typedef {object} EmailConfigOptions
* @property {ErrorMessageConfig} errorMsg Error message config
*/
/**
* Email address.
*
* This is not an exhaustive validation, and is permissive.
*
* See {@link EmailConfigOptions} for `make()` options.
*
* @memberof Validators
* @augments ValidatorFactory
*/
class Email extends ValidatorFactory_js_1.default {
/** @property {string} name Validator name ("email") */
name = "email";
validate(value, dataContext = {}) {
let isValid;
try {
isValid = isEmail(value);
}
catch {
isValid = false;
}
const errorMsg = this.config.errorMsg || {
summary: "validation:rule.email.summary",
inline: "validation:rule.email.inline",
};
return isValid ? [] : [ValidationError_js_1.default.make({ errorMsg, dataContext })];
}
sanitise(value) {
if (value !== undefined) {
return (0, utils_js_1.stringifyInput)(value);
}
return undefined;
}
}
exports.default = Email;
//# sourceMappingURL=email.js.map