Как сделать простую проверку значения с сообщением об ошибке в Deform / Colander - PullRequest
2 голосов
/ 21 июля 2011

Я внедряю простую «галочку для принятия условия и положения» в Deform / Colander.

Итак, я просто хочу проверить, установлен ли флажок, и появляется сообщение об ошибке «Выдолжен согласиться с T & C '.

Я понимаю, что могу использовать:

colander.OneOf([True]) 

, чтобы поставить галочку.Однако OneOf не допускает настраиваемое сообщение об ошибке.Как правильно это сделать?

1 Ответ

5 голосов
/ 21 июля 2011

Использовать пользовательский валидатор:

def t_and_c_validator(node, value):
    if not value:
        raise Invalid(node, 'You must agree to the T&C')

class MySchema(colander.Schema):
    t_and_c = colander.SchemaNode(
                  colander.Boolean(),
                  description='Terms and Conditions',
                  widget=deform.widget.CheckboxWidget(),
                  title='Terms and Conditions',
                  validator=t_and_c_validator,
                  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...