gpt4 book ai didi

python - 在 Flask 的 WTForms 中验证 DecimalRangeField

转载 作者:太空宇宙 更新时间:2023-11-04 04:23:07 25 4
gpt4 key购买 nike

我正在尝试验证 DecimalRangeField,以便用户需要提供输入。问题是我想要一个默认值,例如 50( slider 出现在中间),这导致内置验证器 DataRequiredInputRequired (我都试过了)失败是因为他们采用默认值作为给定分数,即使用户没有显示任何操作(至少这是我认为发生的情况)。

我怎么能有一些默认值,但仍然检查用户是否采取了任何行动(点击 slider 上的某个地方,即使它最终与默认值相同)并显示错误,例如“此字段是必需的“以防用户没有触摸 slider ?为此我需要一个自定义验证器吗?

感谢您的任何建议。

相关代码部分如下:

索引.py

@app.route("/questionnaire1", methods=['GET', 'POST'])
def controlAndDeliberation():
form = controlAndDeliberationForm()
if form.validate_on_submit():
return redirect(url_for())
return render_template('control_and_deliberation.html', form=form)

questionnaires.py

class controlAndDeliberationForm(FlaskForm):
perceivedControlQ1 = DecimalRangeField(
'1. How much control did you feel you have?',
default=50,
validators=[DataRequired()]
)

control_and_deliberation.html

<div class="form-group">
{{ form.perceivedControlQ1.label }}<br>
{{ form.perceivedControlQ1 }}
{% for error in form.perceivedControlQ1.errors %}
<span style="color: #d60000; font-size: 15px">{{ error }}</span>
{% endfor %}
</div>

最佳答案

这可能最好在前端处理(除非有人出现在这里纠正我)。
您可以使用 Javascript 来阻止表单提交并在用户单击 slider 之前显示一条消息。
否则您将不得不拒绝某个值并重新加载页面并闪现一条错误消息告诉用户将 slider 从“50”移开。这里的问题是因为它是一个 slider ,用户不必提供输入,它总是在表单提交时发送一个数值。

关于python - 在 Flask 的 WTForms 中验证 DecimalRangeField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54090079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com