python - 如何比较 flask 中的两个密码

标签 python validation flask flask-wtforms wtforms

我如何比较 Flask 中的两个密码?我需要在哪里做:在类里面还是在 request.method == "POST"中?谢谢!

class ContactForm(FlaskForm):
    email = StringField(label='E-mail', validators=[
        validators.Length(min=5, max=35), validators.Email()
    ])
    password = StringField(label='Password', validators=[
        validators.Length(min=6, max=10)
    ])
    password_confirm = StringField(label='Password confirm', validators=[
        validators.Length(min=6, max=10)
    ])

    def validate_name(form, field):
        if len(field.password.data) != len(field.password_confirm.data):
            raise ValidationError('Passwords must be equal')

最佳答案

来自示例here , 你可以使用 validators.EqualTo() .

class ContactForm(FlaskForm):
    email = StringField(label='E-mail', validators=[
        validators.Length(min=5, max=35), validators.Email()
    ])
    password = StringField(label='Password', validators=[
        validators.Length(min=6, max=10),
        validators.EqualTo('password_confirm', message='Passwords must match')
    ])
    password_confirm = StringField(label='Password confirm', validators=[
        validators.Length(min=6, max=10)
    ])

请注意,您可能还应该使用 PasswordField 而不是 StringField

关于python - 如何比较 flask 中的两个密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59143325/

相关文章:

python - 使用带有特殊字符的正则表达式在 python 中查找匹配项

带有 IsEditable ="True"的 WPF ComboBox - 如何指示未找到匹配项?

python - 使用 flask 返回 bool 作为 POST 响应

python - Python 3 中 .keys() 的最 Pythonic 替代品

python - 使用 python 连接 SQL Server 时遇到问题

python - 如何通过名称访问对象的属性?

validation - 如何检查电话号码在美国是否存在

javascript - 客户端表单验证和交互的最佳 JavaScript 解决方案?

python - Flask:如何处理应用程序/八位字节流

python - db.create_all() 不在 Flask-SQLAlchemy 中创建表