我花了几天时间试图让 WTForms 来验证我的request.args,但我就是无法form.validate()返回True。
我的想法是,我有一个简单的文本字段,用于 WTForm 中的用户输入,如下所示。
表格.py
class SearchForm(FlaskForm):
q = StringField('q',
validators=[])
search = SubmitField('Search')
def validate_q(self, q):
if q.data not in allowed_values: #"allowed_values" is just a list I want to check against
raise ValidationError('')
Run Code Online (Sandbox Code Playgroud)
搜索.html
<form method="GET" action="{{ url_for('finance.search') }}">
<div class="col-9 col-md-5 p-0 m-0">
{% if form.q.errors %} {{ form.q(class="form-control form-control-md is-invalid") }}
<div class="invalid-feedback">
{% for error in form.q.errors %}
<span>{{ error }}</span> {% endfor %}
</div>
{% else %} …Run Code Online (Sandbox Code Playgroud)