【问题标题】:WTForms Form.validate(self) always returns falseWTForms Form.validate(self) 总是返回 false
【发布时间】:2016-03-23 04:33:40
【问题描述】:

我正在创建一个表单,但出于某种原因,每当我尝试验证它时,它总是返回 False。

表格:

class AddStuffForm(Form):
    myList = [(idx,int(val.tier)) for idx,val in enumerate(getList())]
    myList.remove((2,3)) # this is an element I don't want in the list

    myListForm = SelectField("List:", [Required()], choices=myList)

    def __init__(self, *args, **kwargs):
        """ Constructor. """
        Form.__init__(self, *args, **kwargs)
        self.user = None

    def validate(self):
        """ Validates registration form.  """
        rv = Form.validate(self)
        if not rv:
            return False

观看次数:

@app.route('/addStuff', methods=['GET', 'POST'])
def addStuff():
    """ Submits register form. """

    form = AddStuffForm()
    if form.validate_on_submit():
        return redirect(url_for('addStuff'))

    return render_template('/AddStuff.html', form=form)

AddStuff.html:

{% extends "layout.html" %}

{% block content %}

<h1>Add stuff</h1>
<form method="POST" action="{{ url_for('addStuff') }}">
    {{ form.hidden_tag() }}
    <p>{{ form.myListForm.label }} {{ form.myListForm(size=1) }}</p>

    <input type="submit" value="Add it">
</form>
{% endblock %}

在查找问题时,我能找到的唯一内容是确保“{{ form.hidden_​​tag() }}”在 html 中,但正如您所见,我已经有了。我缺少的 SelectField 是否有错误?

【问题讨论】:

    标签: python wtforms


    【解决方案1】:

    决定只删除“If not rv: return False”位。如果后台出了什么问题,那好吧。

    【讨论】:

      猜你喜欢
      • 2013-12-08
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 2016-07-20
      • 2021-11-05
      • 2018-11-05
      相关资源
      最近更新 更多