WTForms TextAreaField DataRequired未在引导模式中引发验证错误

2024-04-26 00:20:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在引导模式中有一个非常小的表单,只包含两个字段:一个TextAreaField和一个Submit按钮。我的文本字段是必需的数据

除此之外,此字段使用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用来将文本区域字段呈现为所见即所得编辑器的内容

我真的非常感谢在这方面的任何帮助

提前谢谢

更新:

如果有帮助的话,这是我的表单类,尽管我很确定问题与模态相关,而与WTF无关:

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

Tags: 数据文本divformid表单模式button