Я хочу создать форму с WTForms, где поле представляет собой SelectField со специальной (настраиваемой) проверкой, которая (например) проверяет что-то еще, если текущее значение недействительно (т.е. это не экземпляр определенных параметров).
Я прочитал в документацию, что правильный способ сделать это переопределить функции pre_validate
или post_validate
в соответствии с потребностями.
Итак, мой подход следующий:
1 - я создаю новое поле с именем MySelectForm:
class MySelectField(SelectField):
def post_validate(self, form, validation_stopped):
"""overrides post validation"""
#Here is my custom validation
2- Я использую это поле вместо исходного в своей форме
Чего я не могу понять, так это того, что если, как я читал в документах, post_validate
принимает на вход «форму, которой принадлежит поле», как мне получить доступ к текущему значению поля, которое является экземпляром MySelectField
?
Другими словами, может ли кто-нибудь привести пример того, как переопределить pre_validate
или post_validate
?