如何比较烧瓶中的两个密码

RjD*_*era 3 python validation flask wtforms flask-wtforms

我如何比较烧瓶中的两个密码?我需要在哪里这样做:在课堂上还是在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')
Run Code Online (Sandbox Code Playgroud)

CDJ*_*DJB 6

从这里的示例中,您可以使用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)
    ])
Run Code Online (Sandbox Code Playgroud)

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