这个库一般有两个作用。第一个就是做表单验证,把用户提交上来的数据进行验证是否合法。第二个就是做模版渲染。
class RegistForm(Form):
username = StringField(validators=[Length(min=3,max=10,message='用户名长度必须在3到10位之间')])
password = StringField(validators=[Length(min=6,max=10)])
password_repeat = StringField(validators=[Length(min=6,max=10),EqualTo("password")])
视图函数中的代码:
form = RegistForm(request.form)
if form.validate():
return "success"
else:
print(form.errors)
return "fail"
数据发送过来,经过表单验证,因此需要验证器来进行验证,以下对一些常用的内置验证器进行讲解:
如果想要对表单中的某个字段进行更细化的验证,那么可以针对这个字段进行单独的验证。步骤如下:
validate_字段名(self,filed)
。field.data
可以获取到这个字段的具体的值。wtforms.validators.ValidationError
的异常,并且把验证失败的信息传到这个异常类中。captcha = StringField(validators=[Length(4,4)])
# 1234
def validate_captcha(self,field):
if field.data != '1234':
raise ValidationError('验证码错误!')