WTForms validators.optional: продолжить проверку пустых полей? - PullRequest
5 голосов
/ 01 апреля 2011

У меня проблема с WTForms validators.optional (), потому что он останавливает цепочку проверки, если поле пустое ( WTForms docs ).Это означает, что проверка не продолжается с пользовательскими функциями, что может привести к ошибкам типа.

Пример кода:

class MyForm(form):
    myfield = TextField('My Field', [validators.Optional()])

    def validate_myfield(form, field):
        field.data = unicode(field.data)

Есть ли способ или обходной путь для продолжения цепочки проверки, даже еслинеобязательный контент пуст, возможно, с использованием пользовательских валидаторов ?

Если я неправильно подхожу к проблеме, подсказка в правильном направлении будет полезна!

1 Ответ

7 голосов
/ 06 апреля 2011

Вы можете просто изменить порядок, в котором перечислены ваши валидаторы.Если ваши пользовательские валидаторы располагаются перед необязательным валидатором, он должен обеспечивать желаемый эффект, поскольку они оцениваются по порядку.

...