相关疑难解决方法(0)

禁用字段被认为是在WTForms和Flask中进行验证

我在页面中禁用了一些字段,例如:(使用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)

python jinja2 flask wtforms

13
推荐指数
1
解决办法
1万
查看次数

如何禁用wtform提交字段的提交按钮?

这是 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

jinja2 flask flask-wtforms

7
推荐指数
1
解决办法
3656
查看次数

标签 统计

flask ×2

jinja2 ×2

flask-wtforms ×1

python ×1

wtforms ×1