python WTForms`RequireIf`验证器。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python WTForms`RequireIf`验证器。相关的知识,希望对你有一定的参考价值。

class RequiredIf(object):
    """Validates field conditionally.

    Usage::

        login_method = StringField('', [AnyOf(['email', 'facebook'])])
        email = StringField('', [RequiredIf(login_method='email')])
        password = StringField('', [RequiredIf(login_method='email')])
        facebook_token = StringField('', [RequiredIf(login_method='facebook')])
    """
    def __init__(self, *args, **kwargs):
        self.conditions = kwargs

    def __call__(self, form, field):
        for name, data in self.conditions.iteritems():
            if name not in form._fields:
                Optional(form, field)
            else:
                condition_field = form._fields.get(name)
                if condition_field.data == data and not field.data:
                    Required()(form, field)
        Optional()(form, field)

以上是关于python WTForms`RequireIf`验证器。的主要内容,如果未能解决你的问题,请参考以下文章

python-flask-wtforms组件流程源码

在python wtforms中选择具有动态选择值的字段。

Flask-WTForms 在我的项目目录中找不到 WTForms

python之路_flask框架_flask-session组件信号及wtforms组件

python-flask复习——Flask-Session组件WTForms组件数据库连接池(POOL)

在网站的主要布局模板中使用 Flask-wtforms 的困难