Когда мне следует проверять данные формы во Flask? - PullRequest
0 голосов
/ 06 июня 2019

Название немного двусмысленно, но вот объяснение:

У меня есть поле электронной почты в форме. WTF-формы подтверждают правильность адреса электронной почты, и я могу продолжить после validate_on_submit.

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

Какой дизайн лучше. Каковы преимущества, недостатки.

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Любой дизайн может работать, но я думаю, что было бы более разумным оставить проверку WTForm для проверки фактического поля.

Например, если у вас есть поле электронной почты, которое получает ввод:

notanemail

Это должно привести к ошибке проверки, поскольку это действительно ошибка с проверкойвход в поле.Это просто имеет больше смысла.

То же поле с вводом total@anemail.com является допустимым, поэтому проверка должна продолжиться, и тогда вы сможете проверить, какой адрес электронной почты уже заняти высветить ошибку.

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

0 голосов
/ 06 июня 2019

Сначала проверьте действительный синтаксис, затем проверьте, не используется ли он кем-то еще. Проверка правильности синтаксиса, вероятно, является гораздо более дешевой операцией, поэтому начинать с нее более эффективно.

Также с точки зрения здравого смысла, если адрес недействителен, то, вероятно, вы бы не позаботились , если он уже использовался (если это вообще возможно).

...