Как я могу выполнить проверку на уровне формы в WTForms?

Я создаю много форм в приложении с помощью wtforms. Мне нужно выполнить и представить пользователю ошибки проверки "на уровне формы".

Нет документированного/поддерживаемого способа сделать это. Это нормально.

Я знаю, что могу переопределить метод проверки форм, выполнить там свои проверки и поместить дополнительные ошибки проверки в свойство _errors формы.

Проблема с этим подходом заключается в том, что form._errors также содержит все ошибки проверки на уровне поля (которые также, конечно, доступны через свойство errors каждого поля).

Итак, я хочу иметь чистый, согласованный с API способ возвращать только ошибки проверки на уровне формы. Я могу взломать это сам на свойстве _error, но меня интересуют другие решения этой проблемы.

Как бы вы сделали проверку на уровне формы в wtforms?


person Community    schedule 09.07.2014    source источник
comment
Проверка на уровне формы будет доступна в wtforms 3 (фиксация github)   -  person snakecharmerb    schedule 16.01.2021


Ответы (1)


В группе wtforms google есть обходной путь:

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

Но я бы предпочел использовать flask мгновенные сообщения

И я заполнил запрос функции в wtforms, возможно, они реализовали эту функцию. :)

person eneepo    schedule 17.08.2014