@sprucelabs/schema
Version:
Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓
19 lines (18 loc) • 611 B
JavaScript
import * as EmailValidator from 'email-validator';
import AbstractField from './AbstractField.js';
class EmailField extends AbstractField {
static generateTemplateDetails(options) {
return {
valueType: `string${options.definition.isArray ? '[]' : ''}`,
};
}
validate(value, options) {
const errors = super.validate(value, options);
if (!EmailValidator.validate(value)) {
errors.push({ code: 'INVALID_PARAMETER', name: this.name });
}
return errors;
}
}
EmailField.description = 'Email support.';
export default EmailField;