表单验证 validators 限制表单字段
1.导入模块 from wtforms.validators import DataRequired (DataRequired用于确保有值)
EqualTo用于确保两个表单的值相等
2. 在Field() validators参数中添加表单验证 validators为列表格式
DataRequired()中的参数为提示的错误信息
2.validata_on_submit()判断是否有错误,没有结果为True,有错误结果为False
视图函数
from flask import Flask, render_template
from flask import request
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, PasswordField
from wtforms.validators import EqualTo, DataRequired
"""
表单验证 validators 限制表单字段
1.导入模块 from wtforms.validators import DataRequired (DataRequired用于确保有值)
EqualTo用于确保两个表单的值相等
2. 在Field() validators参数中添加表单验证 validators为列表格式
DataRequired()中的参数为提示的错误信息
3.validata_on_submit()判断是否有错误,没有错误结果为True,有错误结果为False
"""
app = Flask(__name__)
app.config['WTF_CSRF_ENABLED'] = False
class Register_Form(FlaskForm):
"自定义一个表单类"
username = StringField('用户名', validators=[DataRequired('用户名不能为空')])
passwd = PasswordField('密码', validators=[DataRequired('密码不能为空')])
passwd2 = PasswordField('确认密码', validators=[DataRequired('确认密码不能为空'),
EqualTo('passwd', '两次输入的密码不一样')])
sub = SubmitField('注册')
@app.route('/', methods=['GET', 'POST'])
def index():
register_form = Register_Form()
if request.method == 'GET':
return render_template('form.html', form=register_form)
if request.method == 'POST':
if register_form.validate_on_submit():
return '注册成功'
else:
return '注册失败'
if __name__ == '__main__':
print(app.url_map)
app.run(port=5001, debug=True)