【发布时间】:2023-02-02 03:04:39
【问题描述】:
Flask wtforms 不显示验证错误(例如,当密码不匹配时)。表单.py
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired, Length, Email, ValidationError, EqualTo, Regexp
class RegistrationForm(FlaskForm):
username = StringField('Username', validators=[DataRequired(), Length(min=5, message='Name length must be between %(min)d')]), Regexp("^[A-Za-z][A-Za-z0-9_.]*$", 0, "Username must have")
password = PasswordField('Password', validators=[DataRequired(), Length(min=8, message='Password should be at least %(min)d characters long')])
confirm_password = PasswordField('Confirm Password', validators=[DataRequired(message='*Required'), EqualTo('password', message='Both password fields must be equal!')])
email = StringField('Email', validators=[DataRequired(), Email()])
register = SubmitField('Register')
各自的 sn-p 来自注册.html
<div class = "input-group mb-3">
{{form.confirm_password.label(class="form control table")}}
{{form.confirm_password(class="form-control form-control-lg", id="floatingPassword", placeholder="Confirm Password")}}
</div>
{% for error in form.password.errors %}
<div class="alert alert-danger input-group" role="alert">
<span style="color: red;">{{ error }}</span>
</div>
{% endfor %}
和 sn-p 来自路由功能视图.py
@custodian_view.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm(request.form)
if request.method == 'POST':
if form.validate_on_submit:
user = Account(email=form.email.data, username=form.username.data, password=form.password.data)
db.session.add(user)
db.session.commit()
请建议我该如何解决这个问题
【问题讨论】:
标签: flask flask-wtforms wtforms