Python      python的flask框架,flask_wtf-FlaskForm(wtforms)中自定义validator   

默认wtforms.validators中有如下校验器:
__all__ = (
    "DataRequired",
    "data_required",
    "Email",
    "email",
    "EqualTo",
    "equal_to",
    "IPAddress",
    "ip_address",
    "InputRequired",
    "input_required",
    "Length",
    "length",
    "NumberRange",
    "number_range",
    "Optional",
    "optional",
    "Regexp",
    "regexp",
    "URL",
    "url",
    "AnyOf",
    "any_of",
    "NoneOf",
    "none_of",
    "MacAddress",
    "mac_address",
    "UUID",
    "ValidationError",
    "StopValidation",
)
form中的邮箱可以用Email,密码确认可以用EqualTo等。

本例有种情况,注册用户时,须要填写一个邮箱,向其发送验证码,提交时要检查邮箱和验证码是否配对。要使用自定义校验器。
wtforms.validators都是如下结构:



如图中场景,
首先填写邮箱,然后“获取验证码”,后台响应,向邮箱里发送一个验证码,同时把两者作为一个记录保存。
如果填写的邮箱是有效的,用户就能去自己的邮箱查到验证码,手写到表单。
当“注册”时,从表单数据里把邮箱和手写的验证码拿出来,从记录里把这个邮箱的对应验证码提取来,和用户手写的比较。
如果两个验证码匹配相同,则认为邮箱是有效的,以后可用于找回密码啥的。



在FlaskForm中使用校验器:



请求处理:



页面:



- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设