#laravel
Вопрос:
В моей форме я хочу, чтобы флажки сохраняли свои состояния (отмеченные или снятые) после ошибки проверки. Это то, что у меня есть до сих пор:
lt;input type="checkbox" id="delete-user" class="form-check-input" data-data-section="users" name="permissions[]" value="delete-user" {{ (is_array(old('permissions')) amp;amp; in_array(1, old('permissions'))) ? ' checked' : '' }}gt;
Но похоже, что старая функция() не работает. Я тоже пытался:
old('permissions.'.$key)
где $key-это индекс массива флажков, но он тоже не работает.
Есть идеи ?
Комментарии:
1. Значение вашего флажка равно
delete-user
. Так не кажется ли вам, что в проверенном состоянии вместо этого должно бытьdelete-user
1
?
Ответ №1:
Я думаю, что вы передаете недопустимое значение в функции in_array
Попробуй это:
value="delete-user" {{ (is_array(old('permissions')) amp;amp; in_array('delete-user', old('permissions'))) ? ' checked' : '' }}gt;
Комментарии:
1. Спасибо за вашу помощь, но по какой-то причине это все равно не работает. Это действительно выглядит так, как будто old() вообще не работает.
2. Хорошо, теперь это работает. Я тестировал с помощью простого перенаправления:
return redirect()-gt;route('admin.users.roles.edit')-gt;with('error', __('message'));
и оказалось, что входные данные не мигают. С другой стороны, входные данные автоматически мигают с запросами на проверку.