Ошибка
Недопустимый токен CSRF.Пожалуйста, попробуйте повторно отправить форму.
Эта ошибка иногда появляется в формах symfony2, но после успешного обновления формы сохраняется.
Эта ошибка не часто возникает при сохранении формы.
Я пробовал в каждом браузере, проблема одинакова.
При обновлении маркера страницы, получить обновление в скрытых полях ввода, но ошибка остается той же.
Я гуглил и нашел некоторыеПолезная статья, в которой предлагается
{{form_rest(form)}}
использовать перед закрытием тега формы.
Вот мой код
Код веточки
<div id="{{ formID }}_container" class="main">
<div class="page">
<div id="{{ formID }}_output"></div>
{% include 'Bundle:Form:required_msg.html.twig' %}
{{form_start(form, { 'attr' : { 'id': formID } })}}
<div style="display: none">
{{form_rest(form)}}
</div>
{{form_end(form)}}
</div>
</div>
У меня естьэто скрытое поле:
<input id="form_id" name="details_form[_token]" value="somevalue" type="hidden">
Это мои данные формы:
details_form[_token] value
details_form[age]
details_form[gender] F
Это ответ на запрос:
{"success":false,"msg":"Form is invalid.","errors":[{"name":"[0]","message":"The CSRF token is invalid. Please try to resubmit the form."}]
Некоторые другие ответы, которые я виделпри переполнении стека ( токен CSRF недействителен. Пожалуйста, попробуйте еще раз отправить форму ), чтобы сделать это:
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'options' => array(),
csrf_protection' => false
));
}
Но я не должен устанавливать флаг csrf_protection
до false
.Кто-нибудь может предложить лучший способ решить эту проблему?