Валидаторы WTForms для адреса электронной почты

#python #flask #flask-wtforms

Вопрос:

Возможно, глупый вопрос, поэтому я приношу свои извинения. Я новичок, когда дело доходит до колб и форм в Python.

Итак, я хочу включить проверку в поле моей электронной почты, чтобы проверить, содержит ли ввод, например, символ@, за которым следует что-то, а затем .com в конце.

Прямо сейчас мой код для этого поля электронной почты выглядит следующим образом:

 email = StringField('Email', validators=[InputRequired(), Length(max=60)])
 

Что мне нужно добавить, чтобы включить проверку на @something.com во входных данных, полученных из формы?

Комментарии:

1. Я тоже нашел его, но это не то, что я ищу. Мне нужно как-то проверить, содержит ли ввод эту терминологию, специфичную для электронного письма.

Ответ №1:

Вы можете воспользоваться валидатором электронной почты

 from wtforms import validators
email = StringField('Email', validators=[InputRequired(), Length(max=60), validators.Email()])
 

https://wtforms.readthedocs.io/en/2.3.x/validators/#wtforms.validators.Email

Или вы можете написать пользовательский валидатор

https://wtforms.readthedocs.io/en/2.3.x/validators/#custom-validators