Я использую FlaskForm в модальном режиме.Модал настроен так:
<form id="form_id" action="action" method="post" enctype="multipart/form-data">
И в нижнем колонтитуле:
<button class="btn btn-primary btn-ok" form="form_id">Save</button>
Это означает, что он сразу же проверяет и вызывает URL-адрес «действия», когдапользователь нажимает на Сохранить.Это работает нормально, и если одно из полей не проверяется корректно, оно показывает хорошее всплывающее окно над полем.
НО, для одного поля я пытался установить пользовательский валидатор:
validators=[InputRequired(), validate_function]
Но моя проблема в том, что эта функция не вызывается при использовании функции автоматической отправки!Кажется, что он только проверяет существующие валидаторы, такие как 'InputRequired ()', но игнорирует мои пользовательские валидаторы.
Я узнал, проверяю ли я его сам, например, когда вызывается метод действия, и я делаю это:
form = TestForm(obj=request.form)
form.validate():
Тогда моя собственная пользовательская функция валидатора прекрасно вызывается.Но я хотел бы, чтобы он вызывался также при простом нажатии на кнопку submit в модальной форме.
Я знаю, что могу перехватить submit и вызвать себя для проверки в JQuery, и тогда это, вероятно, сработает, но я думаю, что это должноуметь работать ... У кого-нибудь есть ответ?