【问题标题】:How to show wtform validation error on modal如何在模态上显示 wtform 验证错误
【发布时间】:2014-01-05 08:08:18
【问题描述】:

我在 Twitter Bootstrap 3 模式中有一个 WTF 表单,我需要对其进行验证。问题是当用户提交表单时,即使存在验证错误,模式也会关闭。如果我再次单击触发模式的按钮,则会显示验证错误。所以我的问题是,当出现验证错误时,如何让模态保持打开状态? 谢谢!

<button type="button" class="btn btn-default" data-toggle="modal" role="dialog" data-target="#save"> 
<span class="glyphicon glyphicon-flash"></span>
</button>


<div class="modal fade" id="save" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
     <h3 class="modal-title" id="myModalLabel">Archive List and Start New</h3>
    </div>

   <form role="form_list" class="form form-medium" action="." method="post">
   {{ form_save.csrf_token }}
    <div class="modal-body">    
        <h4>Save list as: </h4>
        {{ render_field(form_save.list_name, class="input-large") }}
    </div>

    <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <a href="#">
          <button class="btn btn-success">Archive List</button></a> 
    </div>
  </form>

  </div><!-- modal content -->
  </div><!-- modal-dialog -->
</div><!-- modal -->


<script src="{{ url_for('static', filename='js/jquery.js') }}"></script>
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>

【问题讨论】:

    标签: flask twitter-bootstrap-3 wtforms


    【解决方案1】:

    您应该添加一些 javascript 以在表单出现错误时自动打开模式。

    类似(使用 jQuery):

    var formErrors = {% if form_errors %}true{% else %}false{% endif %};
    
    $(document).ready(function() {
        if (formErrors) {
            $('.modal').modal('show');
        }
    });
    

    【讨论】:

    • 对我来说是 form.errors 而不是 form_errors,可能是版本问题
    • 我正在尝试这个解决方案,但没有成功。您能否从我的问题中看到我该怎么做才能完成这项工作? stackoverflow.com/questions/61963633/… 非常感谢!!
    猜你喜欢
    • 2013-12-17
    • 2010-10-25
    • 2017-06-12
    • 2015-06-27
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    相关资源
    最近更新 更多