保持模态打开,显示WTForms验证错误

2024-05-29 10:24:52 发布

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

我有一个表单(WTForms)是必需的。这种形式生活在模态中。它只是一个textarea字段,我有CKEditor处理它,所以它显示为一个WYSIWYG小文本区域。 我在表单中添加了属性“novalidate”,因为我希望来自WTForms的验证错误提供反馈,而不是浏览器中内置的丑陋弹出窗口

问题:当我按submit而不输入任何文本时,我的模式关闭。 是否有任何jQuery/JS方法可以保持模式打开,显示验证错误,而不是在验证错误反馈给用户之前让模式关闭并刷新页面

这是我的表格:

<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="reviewPerfumeModal">Please Leave a Review</h5>
            </div>
            <div class="modal-body">
                <form method=POST action="{{ url_for('reviews.review_perfume', perfume_id=perfume._id) }}" id="form-review">
                    {{ add_review_form.hidden_tag() }}
                    <fieldset class="form-group">
                        <div class="form-group">
                            {% if add_review_form.review.errors %}
                            {{ add_review_form.review(class="form-control form-control-md is-invalid")}}
                            <div class="invalid-feedback">
                                {% for error in add_review_form.review.errors %}
                                <span>{{ error }}</span>
                                {% endfor %}
                            </div>
                            {% else %}
                            {{ add_review_form.review(class="form-control form-control-md ckeditor", placeholder="Review")}}
                            {% endif %}
                        </div>
                    </fieldset>
                    <div class="modal-footer">
                        <div class="form-group">
                            {{ add_review_form.submit(class="btn btn-primary")}}
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

附言:如果表单不在模态上,这就可以了。我只想保持显示错误的模式打开

谢谢


Tags: divformaddid表单错误模式group
1条回答
网友
1楼 · 发布于 2024-05-29 10:24:52

关于这个话题我知道的不多,但试试这个:

{% if add_review_form.review.errors %}
<script>
  javascriptFunctionToOpenModal();
</script>
{% endif %}

相关问题 更多 >

    热门问题