无法使用 WTFforms 获取烧瓶表单以验证密码字段

时间:2021-06-02 18:43:54

标签: flask-wtforms

在此实例之前,我一直在flask 中使用wtforms 为我成功验证表单。我无法获得密码更改表单来验证表单。我正在用简单的实例测试验证打印这个,而不验证打印这个。

我的课堂

class UpdateBFormPass(FlaskForm):
    password = PasswordField('Password', validators=[DataRequired()])
    confirm_password = PasswordField('Confirm Password',
                                     validators=[DataRequired(), EqualTo('password')])

我的路线:

@app.route('/updateBpass', methods=['GET', 'POST'])
def updateBpass():
    print('in updateB password form')
    # updateB_form = UpdateBForm()
    updateB_pass_form = UpdateBFormPass()
    print(updateB_pass_form.password.data)
    print(updateB_pass_form.confirm_password.data)



    if updateB_pass_form.validate_on_submit():
        print('profile update validated')
        return render_template('success.html')
        # return redirect(url_for('display_update',  updateB_form=updateB_form,updateB_email_form=updateB_email_form))
    else:
        print('form not validated')
        mysql = connectToMySQL(DB)
        data = {
            'buyerID': session['userid']
        }
        query = 'SELECT * FROM buyers WHERE buyerID = %(buyerID)s;'
        result = mysql.query_db(query, data)
        # return redirect(url_for('display_update',  updateB_form=updateB_form,updateB_email_form=updateB_email_form))
        # return redirect(url_for('display_update',  updateB_form=updateB_form,updateB_email_form=updateB_email_form,user=result))
        # return render_template('update_profileB.html',  updateB_form=updateB_form,updateB_email_form=updateB_email_form,updateB_pass_form=updateB_pass_form,user=result)
        return render_template('fail.html')

我的模板部分

                <div class="form-group">
                     <div class="input-group-prepend">
                    {{updateB_pass_form.password(class="form-control" )}}
                 </div>
                    <ul>
                    {% for error in updateB_pass_form.password.errors %}
                        <li style="color:red;">{{ error }}</li>
                    {% endfor %}
                    </ul>
                </div>
                <!--END Input New Password-->

                <div class="form-group">
                     <div class="input-group-prepend">
                    {{updateB_pass_form.confirm_password(class="form-control" )}}
                 </div>
                    <ul>
                    {% for error in updateB_pass_form.confirm_password.errors %}
                        <li style="color:red;">{{ error }}</li>
                    {% endfor %}
                    </ul>
                </div>
                <!--END Input 

0 个答案:

没有答案