python - 如何正确使用 wtforms 验证器?
问题描述
在我的 Flask 应用程序中,使用了此登录表单,但 .loginForm.validate() 始终为 False。除了它之外的一切都很好。这个验证器有什么问题?
class LoginForm(FlaskForm):
username = StringField('Username', validators=[])
password = PasswordField('Password', validators=[])
log = SubmitField('Log in')
@auth.route('/', methods=['GET', 'POST'])
def main():
loginForm = LoginForm()
registerForm = RegisterForm()
if request.method == 'POST':
if loginForm.log.data and loginForm.validate():
print(1)
(没有 loginForm.validate() 它打印 1, validate_on_submit 也不起作用)
解决方案
我不知道,但试试这个:
class LoginForm(FlaskForm):
username = StringField(
'Username',
validators=[
DataRequired(),
],
)
password = PasswordField(
'Password',
validators=[
DataRequired()
],
)
submit = SubmitField('Log in')
@auth.route('/', methods=['GET', 'POST'])
def login():
form = LoginForm(request.form)
if form.validate_on_submit():
print('valid input')
推荐阅读
- node.js - 找不到“内容”命令
- git - 如何用另一个分支的提交覆盖旧提交?
- c++ - 使用这些原子操作与内存顺序放松和 rel/acq 如图所示,这个 C++ 片段是否有效?
- python - 如何调试停止的`ProcessPoolExecutor`?
- php - 如何搜索两个以上的关键字?
- mysql - 我们可以在 mysql 组复制中使用 REPEATABLE-READ 隔离级别吗?
- php - FB Marketing API - 支付系统被屏蔽,但广告账户没问题
- css - 响应式 CSSGrid 和悬停问题
- python - 单击一次后如何禁用按钮?
- reactjs - 反应钩子和antd创建表单,当我输入一些东西时,输入会模糊