Есть документ something.blade.php, где есть форма.
В форме есть 3 поля: name['az']
, name['ru']
, name['en']
.
Я отправляю всё в контроллер и валидирую. Если данные не провалидировались, то меня возвращает на ту же страницу и пишет ошибки. Если это не ассоциативный массив, то пишет все ошибки нормально. А если ассоциативный, то вывести ошибки и старые значения не выходит.
Вот фрагмент кода:
<label for="name['en']"
class="col-md-4 col-form-label text-md-right">{{ __('Name EN') }}</label>
<div class="col-md-6">
<input id="name['en']" type="text"
class="form-control{{ $errors->has('name[\'en\']') ? ' is-invalid' : '' }}"
name="name['en']" value="{{ old('name[\'en\']') }}" autofocus>
@if ($errors->has('name[\'en\']'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('name[\'en\']') }}</strong>
</span>
@endif
</div>
Как я понимаю, ошибка в том, что я неправильно подаю значения. Если это так, то как правильно подать? А если не так, то в чем дело?
В Laravel есть удобная валидация массивов, вот документация.
В вашем случа чтобы провалидировать все 3 поля name['az']
, name['ru']
, name['en']
должен работать этот вариант:
$validator = Validator::make($request->all(), [
'name.*' => 'required|string|unique:users',
]);
Аналогично, вы можете использовать символ * при указании своих сообщений проверки в своих языковых файлах, что делает его легким для использования одного сообщения проверки правильности для полей на основе массива:
'custom' => [
'name.*' => [
'unique' => 'Каждый пользователь должен иметь уникальное имя',
]
],
Правильный метод таков:
<label for="name['en']"
class="col-md-4 col-form-label text-md-right">{{ __('Name EN') }}</label>
<div class="col-md-6">
<input id="name['en']" type="text"
class="form-control{{ $errors->has('name.' . '\'en\'') ? ' is-invalid' : '' }}"
name="name['en']" value="{{ old('name.' . '\'en\'') }}" autofocus>
@if ($errors->has('name.' . '\'en\''))
<span class="invalid-feedback" role="alert">
<strong> This field is required </strong>
</span>
@endif
</div>
</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Что я делаю: Верстаю сайт на PHP, хочу в качестве БД использовать Oracle (не спрашивайте почему
Имеются плагины https://octobercmscom/plugin/fireunion-blogfront и https://octobercms
у меня есть форма для заполнения данных пользователем на которой выводится статья и информация о нейВыглядит она так:
Сразу к делуЕсть задача вывести из бд на странице например: список книг и рядом должен быть автор(имя автора) конкретной книги