Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Merhaba arkadaşlar,

Laravel ve Livewire kullanarak bir CMS paneli yazıyorum. Menü oluşturma işlemi için bir formum var, ancak hata durumunda is-invalid sınıfı uygulanmıyor. Yardımcı olabilir misiniz?

Livewire Controller

public function createPage()
    {
        # validation
        $rules = [
            'page_name' => 'required|string|max:70',
            'page_lang' => 'required',
            'page_status' => 'required',
        ];

        $attributes = [
            'page_name' => 'Sayfa adı',
            'page_lang' => 'Sayfa dili',
            'page_status' => 'Sayfa durumu',
        ];

        if ($this->page_special_menu == 1) {
            $rules["page_special_menu_name.0"] = 'required|string|max:70';
            $rules["page_special_menu_url.0"] = 'required';
            $rules["page_special_menu_name.*"] = 'required|string|max:70';
            $rules["page_special_menu_url.*"] = 'required';

            $attributes["page_special_menu_name.0"] = 'Menü adı';
            $attributes["page_special_menu_url.0"] = 'Bağlantı adresi';
            $attributes["page_special_menu_name.*"] = 'Menü adı';
            $attributes["page_special_menu_url.*"] = 'Bağlantı adresi';
        }

        $validator = Validator::make($this->all(), $rules, [], $attributes);

        if ($validator->fails()) {
            $this->dispatchBrowserEvent('swal', [
                'icon' => "error",
                'html' => "Lütfen tüm alanları doldurun.",
                'toast' => true,
                'position' => "top-end",
                'timer' => 3000,
                'showConfirmButton' => false,
                'showCancelButton' => false,
            ]);
        }

        $validator->validate();
        # end validation
    }

View (create.blade.php)

@foreach ($inputs as $key => $value)
<tr>
    <th class="text-dark text-center">{{ $value }})</th>
    <td>
        <div class="mb-3">
            <label class="form-label fw-bold text-dark">Menü adı</label>
            <input type="text" class="form-control @error('page_special_menu_name.'.$value) is-invalid @enderror"
                placeholder="Menü adı girin." wire:model="page_special_menu_name.{{ $value }}">
        </div>
    </td>
    <td>
        <div class="mb-3">
            <label class="form-label fw-bold text-dark">Bağlantı
                adresi</label>
            <input type="text" class="form-control" placeholder="Menü bağlantısı girin."
                wire:model="page_special_menu_url.{{ $value }}">
        </div>
    </td>
    <td class="text-center">
        <button class="btn btn-sm btn-danger" type="button" wire:click.prevent="remove({{ $key }})">
            <i class="fas fa-trash-alt"></i>
        </button>
    </td>
</tr>
@endforeach

    Mobilim akşam bakabilirim lakin sanki kod konseptinde bir hata var gibi gördüm

    mcinoglu

     public function createPage()
    {
        # validation
        $rules = [
            'page_name' => 'required|string|max:70',
            'page_lang' => 'required',
            'page_status' => 'required',
        ];
    
        $attributes = [
            'page_name' => 'Sayfa adı',
            'page_lang' => 'Sayfa dili',
            'page_status' => 'Sayfa durumu',
        ];
    
        if ($this->page_special_menu == 1) {
            $rules["page_special_menu_name.0"] = 'required|string|max:70';
            $rules["page_special_menu_url.0"] = 'required';
            $rules["page_special_menu_name.*"] = 'required|string|max:70';
            $rules["page_special_menu_url.*"] = 'required';
    
            $attributes["page_special_menu_name.0"] = 'Menü adı';
            $attributes["page_special_menu_url.0"] = 'Bağlantı adresi';
            $attributes["page_special_menu_name.*"] = 'Menü adı';
            $attributes["page_special_menu_url.*"] = 'Bağlantı adresi';
        }
    
        $validator = Validator::make($this->all(), $rules, [], $attributes);
    
        if ($validator->fails()) {
            $this->dispatchBrowserEvent('swal', [
                'icon' => "error",
                'html' => "Lütfen tüm alanları doldurun.",
                'toast' => true,
                'position' => "top-end",
                'timer' => 3000,
                'showConfirmButton' => false,
                'showCancelButton' => false,
            ]);
    
            $this->resetErrorBag(); 
            $this->resetValidation(); 
    
            return; 
        }
    
    }