在WTForms中,如果另一个字段为空,如何使其成为可选的必填字段?

在WTForms中,如果另一个字段为空,如何使其成为可选的必填字段?,forms,validation,flask-wtforms,wtforms,Forms,Validation,Flask Wtforms,Wtforms,我有两个字段,用户可以选择一个输入,但不能同时输入两个字段,也不能同时跳过两个字段required()使他们不能跳过一个,而Optional()让他们跳过两个 我只能找到一个例子,当您填写一个字段时,您希望另一个字段是必填字段,但我不知道如何将其修改为我的案例,因为该示例继承了一个Required()验证器,这使这两个字段都是必填字段 下面是我找到的例子。有人知道我现在所描述的是不是有一种本地方式,或者知道如何修改它以适应我的情况吗 class RequiredIf(Required):

我有两个字段,用户可以选择一个输入,但不能同时输入两个字段,也不能同时跳过两个字段
required()
使他们不能跳过一个,而
Optional()
让他们跳过两个

我只能找到一个例子,当您填写一个字段时,您希望另一个字段是必填字段,但我不知道如何将其修改为我的案例,因为该示例继承了一个
Required()
验证器,这使这两个字段都是必填字段

下面是我找到的例子。有人知道我现在所描述的是不是有一种本地方式,或者知道如何修改它以适应我的情况吗

class RequiredIf(Required):
    # a validator which makes a field required if
    # another field is set and has a truthy value

    def __init__(self, other_field_name, *args, **kwargs):
        self.other_field_name = other_field_name
        super(RequiredIf, self).__init__(*args, **kwargs)

    def __call__(self, form, field):
        other_field = form._fields.get(self.other_field_name)
        if other_field is None:
            raise Exception('no field named "%s" in form' % self.other_field_name)
        if bool(other_field.data):
            super(RequiredIf, self).__call__(form, field)
可能的重复可能的重复