def __call__(self, form, field):
     for name, data in self.conditions.items():
         other_field = form[name]
         if other_field is None:
             raise Exception('no field named "%s" in form' % name)
         if other_field.data == data and not field.data:
             InputRequired.__call__(self, form, field)
         Optional()(form, field)