我在页面中禁用了一些字段,例如:(使用jinja2模板系统)
<html>
<body>
<form action="" method=POST>
{{ form.name(disabled=True) }}
{{ form.title }}
-- submit button --
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
字段按预期在表单中禁用.
在我的views.py中:在表单提交上执行validate_on_submit()时,它在"name"字段上的验证错误失败,该字段被禁用.我希望验证忽略禁用字段.这是正确的行为吗?如果是的话,请你知道如何处理这种情况吗?
更新:
class TeamForm(wtf.Form):
name = wtf.TextField("Team Name", validators=[validators.Required()])
title = wtf.TextField("Title", validators=[validators.Required()])
Run Code Online (Sandbox Code Playgroud) 这是 wtform 的提交按钮代码:
{{ form.submit(class="w-50 btn btn-primary btn-sm submit-btn") }}
Run Code Online (Sandbox Code Playgroud)
我正在考虑在单击时向其添加一个类?我知道通过添加这样的类来显示 wtform+jinja2 中的错误的方法:
{% if reg_form.confirm_password.errors %}
{{ reg_form.confirm_password(class="form-control form-control-sm is-invalid") }}
<div class="invalid-feedback">
{% for error in reg_form.confirm_password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ reg_form.confirm_password(class="form-control form-control-sm")}}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我查看了 SubmitField 的文档,但我看不到禁用它的方法。https://wtforms.readthedocs.io/en/stable/fields.html