Как проверить функции с переменными параметрами в TurboGears?

Для функций с фиксированным количеством параметров валидация работает нормально, например:

@validate(validators= {'foo': bar })
def func(self, foo=None):
    pass

Однако я сталкиваюсь с трудностями при проверке функции с неизвестным количеством параметров, как, например,

def func(*args, **kwargs):
    '''do something'''
    pass

Есть идеи, что мне делать?

1 ответ

У аргументов есть какое-то правило? Как будто они все повторяются одного типа или тому подобное?

TurboGears2 на самом деле принимает что-либо с validate метод как валидатор. Таким образом, вы можете использовать схему Formencode в качестве валидатора http://turbogears.readthedocs.org/en/latest/turbogears/validation.html или вы можете свернуть свой собственный класс и поднять TGValidationError из него ( http://turbogears.readthedocs.org/en/latest/reference/classes.html).

Другие вопросы по тегам