WTForms TextAreaField DataRequired不会在Bootstrap模态中引发验证错误

时间:2020-05-22 20:49:04

标签: python flask jinja2 flask-wtforms

我的引导程序模态非常小,仅包含两个字段:TextAreaField和Submit按钮。我的TextAreField是需要数据

最重要的是,此字段使用CKEditor(类似于quillsJS)将文本区域设置为“所见即所得”。

问题在于即使没有输入任何数据,表单仍会提交,并重新加载父页面。

我非常想知道如何在没有输入数据的情况下阻止表单提交并引发验证错误。

我想获得WTForm验证,而不是浏览器验证(在这种情况下无论如何也不起作用)。

如果有关系的话,我还应该提到我的模态是部分文件(jinja)。

我的情态触发因素是这样,生活在perfume-cursor.html

<a href="{{ url_for('perfumes.edit_perfume', perfume_id=perfume._id) }}" class="btn btn-primary btn-sm mt-2">Edit</a>

这是我的模态(在perfume-modals.html的部分文件中)

<div class="modal fade" id="reviewPerfumeModal" tabindex="-1" role="dialog" aria-labelledby="reviewPerfumeModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="deleteUserModal">Please Leave a Review</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <form method=POST action="{{ url_for('reviews.review_perfume', perfume_id=perfume._id) }}" id="form-review">
                    <fieldset class="form-group">
                        <div class="form-group">
                            {{ form.review(class="form-control form-control-md", placeholder="Review", id="description") }}
                        </div>
                    </fieldset>
                    <div class="modal-footer">
                        <div class="form-group">
                            {{ form.submit(class="btn btn-primary") }}
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

id="description"是CKEditor用于将文本区域字段呈现为WYSIWYG编辑器的方法,

对此,我将非常感谢!

谢谢!

更新:

以防万一这是我的表单类,尽管我非常确定问题是与模式相关,而不与WTF相关:

class AddReviewForm(FlaskForm):
    review = TextAreaField("Review", validators=[DataRequired()])
    submit = SubmitField("Post Review")

0 个答案:

没有答案