Я создаю форму, которая содержит reCAPTCHA v2, используя flask-recaptcha , и у меня возникают некоторые проблемы с получением сообщения об ошибке, когда пользователь нажал кнопку отправки, не проверяя reCAPTCHA.Сначала не должно отображаться сообщение об ошибке, но при отправке без reCAPTCHA теперь должно появиться сообщение.Общая черта при проверке форм.
Поскольку я изучаю флягу, я использую этот учебник в качестве примера (https://github.com/CoreyMSchafer/code_snippets/tree/master/Python/Flask_Blog/03-Forms-and-Validation).
Обычно для других полей, таких как имя пользователя, следующий кодиспользуется:
{% if form.username.errors %}
{{ form.username(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.username(class="form-control form-control-lg") }}
{% endif %}
Исходя из той же идеи, я хотел бы иметь что-то похожее на предыдущий случай, который показывает сообщение об ошибке только при возникновении ошибки, после попытки отправки без проверки recaptcha.следующий код не работает
{% if form.recaptcha.errors %}
{{ form.repactha }}
<div>
{% for error in form.recaptcha.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.recaptcha }}
{% endif %},
То, что я сейчас имею, - это действительно уродливый обходной путь, как показано ниже
<div>
{% if not form.recaptcha.verify %}
{{ form.recaptcha }}
<div>
<span>Please, don\'t forget to click on the captcha</span>
</div>
{% else %}
{{ form.recaptcha }}
{% endif %}
</div>
Проблема с этим подходом заключается в том, что сообщение всегда появляется, покаrecaptcha недействителен (даже при первом выполнении).
Как я могу улучшить это?