Loading advanced_email_validation.info.yml +1 −0 Original line number Diff line number Diff line Loading @@ -3,5 +3,6 @@ type: module description: 'User account email validation using MX records and lists of free or disposable emails (configurable).' core_version_requirement: ^8 || ^9 package: User configure: advanced_email_validation.settings dependencies: - drupal:user advanced_email_validation.module +13 −0 Original line number Diff line number Diff line Loading @@ -33,3 +33,16 @@ function advanced_email_validation_entity_base_field_info_alter(&$fields, Entity } } } /** * Implements hook_theme(). */ function advanced_email_validation_theme() { $info = [ 'webform_handler_advanced_email_webform_validator_handler_summary' => [ 'variables' => ['settings' => NULL, 'handler' => []], ], ]; return $info; } config/install/advanced_email_validation.settings.yml +1 −0 Original line number Diff line number Diff line override_site_defaults: false rules: mx_lookup: mx_lookup disposable: '0' Loading config/schema/advanced_email_validation.schema.yml +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ advanced_email_validation.settings: type: config_object label: Email validation settings mapping: override_site_defaults: type: boolean label: Override site defaults rules: type: mapping label: Rules Loading src/AdvancedEmailValidator.php +3 −3 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ class AdvancedEmailValidator implements AdvancedEmailValidatorInterface { 'freeList' => $domainLists[self::FREE_DOMAIN], ]; $validatorConfig = array_merge($defaultConfig, $configOverrides); $validatorConfig = !empty($configOverrides) ? $configOverrides : $defaultConfig; $emailValidator = new EmailValidator($validatorConfig); $emailValidator->validate($email); return $emailValidator->getErrorCode(); Loading @@ -66,9 +66,9 @@ class AdvancedEmailValidator implements AdvancedEmailValidatorInterface { /** * {@inheritdoc} */ public function errorMessageFromCode(int $errorCode): string { public function errorMessageFromCode(int $errorCode, array $errorMessages = []): string { $moduleConfig = $this->configFactory->get('advanced_email_validation.settings'); $errorMessages = $moduleConfig->get('error_messages'); $errorMessages = !empty($errorMessages) ? $errorMessages : $moduleConfig->get('error_messages'); switch ($errorCode) { case EmailValidator::FAIL_BASIC: Loading Loading
advanced_email_validation.info.yml +1 −0 Original line number Diff line number Diff line Loading @@ -3,5 +3,6 @@ type: module description: 'User account email validation using MX records and lists of free or disposable emails (configurable).' core_version_requirement: ^8 || ^9 package: User configure: advanced_email_validation.settings dependencies: - drupal:user
advanced_email_validation.module +13 −0 Original line number Diff line number Diff line Loading @@ -33,3 +33,16 @@ function advanced_email_validation_entity_base_field_info_alter(&$fields, Entity } } } /** * Implements hook_theme(). */ function advanced_email_validation_theme() { $info = [ 'webform_handler_advanced_email_webform_validator_handler_summary' => [ 'variables' => ['settings' => NULL, 'handler' => []], ], ]; return $info; }
config/install/advanced_email_validation.settings.yml +1 −0 Original line number Diff line number Diff line override_site_defaults: false rules: mx_lookup: mx_lookup disposable: '0' Loading
config/schema/advanced_email_validation.schema.yml +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ advanced_email_validation.settings: type: config_object label: Email validation settings mapping: override_site_defaults: type: boolean label: Override site defaults rules: type: mapping label: Rules Loading
src/AdvancedEmailValidator.php +3 −3 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ class AdvancedEmailValidator implements AdvancedEmailValidatorInterface { 'freeList' => $domainLists[self::FREE_DOMAIN], ]; $validatorConfig = array_merge($defaultConfig, $configOverrides); $validatorConfig = !empty($configOverrides) ? $configOverrides : $defaultConfig; $emailValidator = new EmailValidator($validatorConfig); $emailValidator->validate($email); return $emailValidator->getErrorCode(); Loading @@ -66,9 +66,9 @@ class AdvancedEmailValidator implements AdvancedEmailValidatorInterface { /** * {@inheritdoc} */ public function errorMessageFromCode(int $errorCode): string { public function errorMessageFromCode(int $errorCode, array $errorMessages = []): string { $moduleConfig = $this->configFactory->get('advanced_email_validation.settings'); $errorMessages = $moduleConfig->get('error_messages'); $errorMessages = !empty($errorMessages) ? $errorMessages : $moduleConfig->get('error_messages'); switch ($errorCode) { case EmailValidator::FAIL_BASIC: Loading