我何时应该在Flask中验证表单数据

时间:2019-06-06 15:10:24

标签: python flask flask-wtforms wtforms

标题有点含糊,但是这里是解释:

我在表格中有电子邮件字段。 WTF表单会验证正确的电子邮件地址,我可以在validate_on_submit之后继续进行操作。

例如,如果电子邮件已经采用注册形式,我应该在哪里检查?我可以编写自定义验证程序并触发验证错误,或者可以在验证后继续执行,并且可以刷新错误消息。

哪个设计更好。优点和缺点是什么?

2 个答案:

答案 0 :(得分:1)

这两种设计都可以使用,但是我认为让WTForm验证来验证实际字段会更有意义。

例如,如果您有一个电子邮件字段,其输入为:

notanemail

这应该引发验证错误,因为在验证字段中的输入时,这实际上是错误。这更有意义。

输入total@anemail.com 的同一字段是有效的,因此验证应继续进行,然后您可以检查是否已使用了电子邮件地址并出现错误。 / p>

所有这些都是要分离关注点。 WTForms仅应用于验证用户输入的有效信息,而不是它是对数据库的有效输入。

答案 1 :(得分:0)

首先检查有效的语法,然后检查是否已被其他人使用。检查有效语法可能会便宜得多,因此从此开始更有效。

从常识的角度来看,如果地址无效,那么如果已经在使用它,那么大概就不会在意了(如果可能的话)。