@asdasdqwe

Как сделать динамические поля в laravel?

Есть 1 поле
<input name="hobby[]" >

<div>добавить хобби</div>

<button> </button>


При нажатий кнопки добавить поле - input копируется (через javascript) и получается 2 поля hobby
<input name="hobby[]" >
<input name="hobby[]" >

<div>добавить хобби</div>

<button> </button>


Валидация:
"hobby.*" => 'required|string',

Допустим не заполняем второе поле и вроде должны получить ошибку, laravel перенаправляет назад, но ошибку конечно не вижу, ведь второго поля уже нет (было скопировано javascript'ом)

Как сделать чтобы второе поле не убиралось после отправки?
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Предыдущие значения можно достать функцией old()
в old('hobby') у вас будет массив
Вот и выводите все поля

@foreach(old('hobby') as $value)
  <input name="hobby[]" value="{{ $value }}"
@endforech


Ну а вывод ошибок обычным образом

@if ($errors->any())
  @foreach ($errors->all() as $error)
    <p>{{ $error }}</p>
  @endforeach
@endif


Как-то так примерно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы