Laravel 9 - Переменная в ошибке @error blade

Доброе время суток, помогите решить проблему Создал FormRequest для проверки валидации формы В форме есть массив localization (поля на разных языках)

Проверка формы

    public function rules()
{
    return [
      'localization' => 'array',
      'localization.*' => 'array',
      'localization.*.name_1' => 'required',
      'localization.*.name_2' => 'required',
      'localization.*.name_3' => 'required',
    ];
}

Хочу вывести ошибку под собственно полем

использую переменную языка в цикле для получения его id

@error('localization.{{ $language->id }}.name_3')
   <div class="invalid-feedback">
      {{ $message }}
   </div>
@enderror

и ничего не работает( Если вручную вписать @error('localization.31.name_3'), то все отображается а вот с переменной {{ $language->id }} в цикле не хочет..

Что делаю не правильно, очень прошу помощи!


Ответы (1 шт):

Автор решения: Vladimir Gonchar

Потому что шаблонизация внутри директив не работает. В них применяется PHP. Ваша строка localization.{{ $language->id }}.name_3 ровно это и означает без замены.

Вам надо склеить строку, как это делается в PHP:

@error('localization.' . $language->id . '.name_3')
   <div class="invalid-feedback">
      {{ $message }}
   </div>
@enderror
→ Ссылка