Flask Модальная форма WTF проверяет и показывает ошибки только один раз - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь решить странную проблему с проверкой формы в модальных формах. Flask и WTF используется. Основанный на Bootstrap Модальный с WTF Я сделал это, чтобы работать, но только один раз. При отправке формы отображаются ошибки, но если я хочу отправить снова, модальное окно просто закрывается и страница перезагружается.

route.py

@blueprint.route('/add_vrf', methods=['GET', 'POST'])
@login_required
def add_vrf():
add_vrf_form = AddVrfForm(request.form)
if add_vrf_form.validate_on_submit():
     return jsonify(status='ok')
return render_template('vrf/add_vrf_modal.html', form=add_vrf_form)

vrf. html

<button type="submit" data-toggle="modal" data-target="#add_vrf_modal" class="btn btn-primary">Add new VRF</button>

    <div class="modal fade" id="add_vrf_modal" name="add_vrf_modal">
      <div class="modal-dialog">
        <div class="modal-content">
        {% include 'vrf/add_vrf_modal.html' %}
        </div>
      </div>
    </div>

add_vrf_modal. html

    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
      <span aria-hidden="true">&times;</span></button>
    <h4 class="modal-title">Add VRF</h4>
  </div>
  <div class="modal-body">
  <form id="add_vrf_form" role="form" method="post">
  *...some form code...*
  <div class="modal-footer">
        <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
        <button type="submit" id='add_vrf' name="add_vrf" class="btn btn-primary">Add</button>
      </div>

**javascript**

$('#add_vrf').click(function(event) {var url =  "{{ url_for('home_blueprint.add_vrf') }}";
  event.preventDefault();
  $.post(url, data=$('#add_vrf_form').serialize(), function(data) {
    if (data.status == 'ok') {
        $('#add_vrf_modal').modal('hide');
        location.reload();
    }
    else {
        $("#add_vrf_modal .modal-content").html(data);
    }
  });
})
});

Вывод из FLASK отладка:

При первом нажатии кнопки «ADD VRF» с ошибкой в ​​поле формы

[20 / Apr / 2020 08:31:56] «POST / add_vrf HTTP / 1.1» 200

Второй раз нажал кнопку «ADD VRF» с ошибкой в ​​поле формы

[20 / Apr / 2020 08:32:04] «POST / vrf HTTP / 1.1» 200 -

...