Laravel - значение флажка old () в сочетании с тем, что загружено из базы данных - PullRequest
0 голосов
/ 29 марта 2020

У меня есть этот код флажка:

<div>
     <input type="checkbox" id="allowfullscreen" name="allowfullscreen"
                                 {{ $gallery->allowfullscreen == 1 ? 'checked' : '' }}>
</div>

Этот флажок проверяется на основе значения, взятого из базы данных. Теперь я хотел бы также реализовать старые данные в случае неудачной отправки.

Для текстовых полей я делаю это так:

<input id="galname"
                        type="text"
                        class="form-control @error('galname') is-invalid @enderror"
                        name="galname"
                        value="{{ old('galname') ?? $gallery->galname }}"
                        required autocomplete="galname" autofocus>

Но для флажков это не работает, так как для печати требуется checked. Образцы, которые я нашел здесь на SO, относятся только к одной из двух ситуаций, но не нашли ни одной, которая затрагивала бы обе вещи для флажков.

Как это можно сделать?

1 Ответ

0 голосов
/ 30 марта 2020

Второй параметр, который вы задаете для функции old(), используется, когда первое значение равно нулю. Поэтому, когда вы делаете old('name', "test") и не найдено старого значения для 'name', используется 'test'. Так что в вашем случае вы можете использовать:

<div>
     <input type="checkbox" id="allowfullscreen" name="allowfullscreen"
                                 {{ old('allowfullscreen', $gallery->allowfullscreen) == 1 ? 'checked' : '' }}>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...