diff options
Diffstat (limited to 'django/core/validators.py')
| -rw-r--r-- | django/core/validators.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/django/core/validators.py b/django/core/validators.py index 1a36246171..bfeaa2c7dc 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -1,6 +1,7 @@ import ipaddress import os import re +from contextlib import suppress from urllib.parse import urlsplit, urlunsplit from django.core.exceptions import ValidationError @@ -200,10 +201,11 @@ class EmailValidator: # Try for possible IDN domain-part try: domain_part = domain_part.encode('idna').decode('ascii') - if self.validate_domain_part(domain_part): - return except UnicodeError: pass + else: + if self.validate_domain_part(domain_part): + return raise ValidationError(self.message, code=self.code) def validate_domain_part(self, domain_part): @@ -213,11 +215,9 @@ class EmailValidator: literal_match = self.literal_regex.match(domain_part) if literal_match: ip_address = literal_match.group(1) - try: + with suppress(ValidationError): validate_ipv46_address(ip_address) return True - except ValidationError: - pass return False def __eq__(self, other): |
