Как проверить функции с переменными параметрами в 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).