Python flask wtf validate_on_submit()始终返回true

Python flask wtf validate_on_submit()始终返回true,python,python-2.7,flask,flask-wtforms,Python,Python 2.7,Flask,Flask Wtforms,我是水瓶wtf的新手。我根据文档进行了验证,但是validate_on_submit()返回的总是true,而没有按照规则进行验证。我是错过了什么还是做错了什么 表格: controller.py @submodule.route('/create', methods=['GET', 'POST']) @logged_user_only def create(): form = TemplateCreateForm(request.form) if form.validate_o

我是水瓶wtf的新手。我根据文档进行了验证,但是validate_on_submit()返回的总是true,而没有按照规则进行验证。我是错过了什么还是做错了什么

表格:

controller.py

@submodule.route('/create', methods=['GET', 'POST'])
@logged_user_only
def create():
    form = TemplateCreateForm(request.form)
    if form.validate_on_submit():
        mongo.db.template.insert(
            {
                'title': str(form.title.data),
                'is_active': bool(form.is_active.data),
                'caption': str(form.caption.data),
                'view_path': str(form.view_path.data),
                'user_id': str(session['user.user_id']),
                'insert_timestamp': datetime.now()
            }
        )
    print form.errors
    return render_template('create.html', form=form)
view.html

<form action="{{%20url_for('template.create')%20}}" method="post">
    <h5 class="form-header">Template creation</h5>{{ form.hidden_tag() }} {{ form.csrf_token }}
    <div class="form-group">
        <label for="">Title *</label> {{ form.title(class_='form-control') }}
    </div>
    <div class="form-group">
        <label for="">Caption </label> {{ form.caption(class_='form-control') }}
    </div>
    <div class="form-group">
        <label for="">View *</label> {{ form.view_path(class_='form-control') }}
    </div>
    <div class="form-check">
        <label class="form-check-label" for="">{{ form.is_active(class_='form-check-input') }} Active</label>
    </div>{% for message in form.errors %} {{ message }} {% endfor %}
    <div class="form-buttons-w">
        <button class="btn btn-primary">Submit</button>
    </div>
</form>

模板创建{{form.hidden_tag()}{{{form.csrf_token}}
Title*{form.Title(class='form-control')}
标题{form.Caption(class='form-control')}
视图*{form.View_path(class='form-control')}
{form.is_active(class='form-check-input')}}active
{%for form.errors%}{{message}{%endfor%}
提交

您在
类TemplateCreateForm
中有错误。字段应以下一种格式描述:

field = StringField('label_here', list_of_validators_here)
但是在您的情况下,
list\u验证程序
充当
标签
。所以,只需将标签添加到表单的所有字段

title = StringField('title', [Length(min=4, max=45), DataRequired()])
view_path = StringField('view_path', [Length(min=1, max=45), DataRequired()])
...

类TemplateCreateForm
中有错误。字段应以下一种格式描述:

field = StringField('label_here', list_of_validators_here)
但是在您的情况下,
list\u验证程序
充当
标签
。所以,只需将标签添加到表单的所有字段

title = StringField('title', [Length(min=4, max=45), DataRequired()])
view_path = StringField('view_path', [Length(min=1, max=45), DataRequired()])
...