Компоненты Laravel для livewire не показывают ошибок проверки

#laravel #laravel-livewire #alpine.js

#ларавель #laravel-живой провод #alpine.js

Вопрос:

Поэтому я пытался создать компонент для каждого компонента ввода и формы, который я использую в своем проекте, поэтому я помещаю каждый select2, ввод, ckeditor и т. Д… к анонимному компоненту, и моя проблема в том, что ошибки проверки не отображаются.

Мой компонент Select2:

 @props([  'id' =gt; 'ckeditor',  'ref' =gt; 'ckeditor',  'name' =gt; 'description',  'label' =gt; 'CKEditor' ]) lt;div wire:ignore class="form-group @error($name) is-invalid @enderror"gt;  lt;div class="{{ $attributes-gt;get('class') ?? 'col-md-12' }}"gt;  lt;label class="form-label" for="{{ $id }}"gt;{{ $label }}lt;/labelgt;  lt;textarea wire:model.defer="{{ $attributes-gt;whereStartsWith('wire:model')-gt;first() }}" class="form-control ckeditor"  name="{{ $name }}"  id="{{ $id }}"gt;  lt;/textareagt;  @error($name)  lt;div class="invalid-feedback"gt;{{ $message }}lt;/divgt;  @enderror  lt;/divgt; lt;/divgt; @push('scripts')  lt;scriptgt;  $("document").ready(function () {  ClassicEditor  .create(document.querySelector('#{{ $id }}'), {  toolbar: [  "heading", "|",  'bold', 'italic', '|',  "link", '|',  'bulletedList', 'numberedList', '|',  'blockQuote', '|',  'outdent', 'indent', '|',  'undo', 'redo', '|',  ],  })  .then(editor =gt; {  editor.model.document.on('change:data', () =gt; {  @this.set('{{ $attributes-gt;whereStartsWith('wire:model')-gt;first() }}', editor.getData());  })  })  .catch(error =gt; {  console.error(error);  });  })  lt;/scriptgt; @endpush  

Мой компонент CKEditor:

 @props([  'id' =gt; 'ckeditor',  'ref' =gt; 'ckeditor',  'name' =gt; 'description',  'label' =gt; 'CKEditor' ]) lt;div wire:ignore class="form-group @error($name) is-invalid @enderror"gt;  lt;div class="{{ $attributes-gt;get('class') ?? 'col-md-12' }}"gt;  lt;label class="form-label" for="{{ $id }}"gt;{{ $label }}lt;/labelgt;  lt;textarea wire:model.defer="{{ $attributes-gt;whereStartsWith('wire:model')-gt;first() }}" class="form-control ckeditor"  name="{{ $name }}"  id="{{ $id }}"gt;  lt;/textareagt;  @error($name)  lt;div class="invalid-feedback"gt;{{ $message }}lt;/divgt;  @enderror  lt;/divgt; lt;/divgt; @push('scripts')  lt;scriptgt;  $("document").ready(function () {  ClassicEditor  .create(document.querySelector('#{{ $id }}'), {  toolbar: [  "heading", "|",  'bold', 'italic', '|',  "link", '|',  'bulletedList', 'numberedList', '|',  'blockQuote', '|',  'outdent', 'indent', '|',  'undo', 'redo', '|',  ],  })  .then(editor =gt; {  editor.model.document.on('change:data', () =gt; {  @this.set('{{ $attributes-gt;whereStartsWith('wire:model')-gt;first() }}', editor.getData());  })  })  .catch(error =gt; {  console.error(error);  });  })  lt;/scriptgt; @endpush  

Я не знаю, почему ошибка не отображается, хотя у меня есть @error и, скорее всего, она правильная. Любые идеи и помощь будут оценены по достоинству. Спасибо.

Комментарии:

1. вместо @error($name) попробуйте @error(‘{{$name}}’)

2. мой ответ был совершенно неправильным… дело в том, что это провод:игнорируйте директиву. Попробуйте вместо этого использовать wire:ignore.self или переместите директиву @error из этого контейнера