wtforms 钩子函数

参考: https://www.cnblogs.com/wupeiqi/articles/8202357.html

class LoginForm(Form):
    name = simple.StringField(
        validators=[
            validators.DataRequired(message='用户名不能为空.'),
        ],
        widget=widgets.TextInput(),
        render_kw={'placeholder':'请输入用户名'}
    )
    pwd = simple.PasswordField(
        validators=[
            validators.DataRequired(message='密码不能为空.'),

        ],
        render_kw={'placeholder':'请输入密码'}
    )

    def validate_name(self, field):
        """
        自定义name字段规则
        :param field:
        :return:
        """
        # 最开始初始化时,self.data中已经有所有的值
        print('钩子函数获取的值',field.data)
        if not field.data.startswith('abc'):
            raise validators.ValidationError("用户名必须以abc开头") # 继续后续验证
            # raise validators.StopValidation("用户名必须以abc开头")  # 不再继续后续验证

猜你喜欢

转载自www.cnblogs.com/wt7018/p/11617655.html