1

HTML テンプレートに csrf トークンを含めても、モーダル内で JQuery フォーム検証と Django を使用すると、以下の問題が発生しました。JQuery で検証せずにフォームを送信すると、問題なく動作します。

Forbidden (403)
CSRF verification failed. Request aborted.

サーバー側では、Django フォーム検証を使用しますが、特別なことは何もありません。

前もって感謝します :)

これが私のコードです:

html

<form class="form-inline" id="add-subtitle-modal" action="/add_subtitle/" role="form" method="post" enctype="multipart/form-data">
    {% csrf_token %}

<div class="form-group">
      {{object.description}}
</div>

...

<button class="btn btn-danger" type="submit">save</button>

js

$('#add-subtitle-modal').validate({
        rules: {
...
}

etc

        submitHandler: function(form) {
            var $form = $(form);
            var $inputs = $form.find("input, select, button, textarea");
            $inputs.prop("disabled", true);

            //let the backend to manage submiting

            $form.submit();
        }
4

1 に答える 1

1

それは私の間違いでした。送信前に入力を無効に設定すると、csrf も無効に設定されました。したがって、サーバーに送信されていないと思います。どのフィールドを無効にするかを変更した後、それが機能するようになったので、これが問題だったと思います。

于 2013-11-09T18:48:47.267 に答える