Валидатор почты (для доп.функционала бета!)
This commit is contained in:
24
middleware/validators/email_vld.py
Normal file
24
middleware/validators/email_vld.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from typing import Optional
|
||||
|
||||
from email_validator import validate_email, EmailNotValidError, ValidatedEmail
|
||||
|
||||
# Настройка экспорта из этого модуля
|
||||
__all__ = ("valid_email",)
|
||||
|
||||
|
||||
def valid_email(email: str) -> Optional[str]:
|
||||
"""
|
||||
Валидация почты через библиотеку.
|
||||
|
||||
:param email: Получаемая почта.
|
||||
:return: Нормализированная почта.
|
||||
"""
|
||||
try:
|
||||
# Провека почты на валидность
|
||||
email: ValidatedEmail = validate_email(email)
|
||||
|
||||
except EmailNotValidError:
|
||||
return None
|
||||
|
||||
# Возвращение строки с нормализированной почтой
|
||||
return email.normalized
|
||||
Reference in New Issue
Block a user