TR
Başlangıç
70 · Formlar

Form doğrulama

Form alanları Laravel doğrulama hatalarını $errors üzerinden kendileri gösterir: alan adına ait bir hata varsa çerçeve kırmızıya döner ve mesaj alanın altında çıkar. Ek kod gerekmez.

$errors
01

Hatalı gönderim

Hata, alanın name değerine (yoksa wire:model değerine) göre aranır. Livewire bileşeninde validate() ya da klasik bir controller'da $request->validate() çağrıldığında alanlar hatalarını kendileri gösterir.

CANLI ÖRNEK
<form class="grid gap-4 md:grid-cols-2">
    <acun:input wire:model="ad" label="Müşteri adı" required />
    <acun:input-group wire:model="telefon" label="Telefon" prefix="+90" value="532 11" />
    <acun:select wire:model="grup" label="Müşteri grubu" :options="['1' => 'Bireysel']" placeholder="Seçiniz" />
    <acun:input-group wire:model="limit" label="Kredi limiti" suffix="₺" value="0" />
    <div class="md:col-span-2"><acun:button type="submit">Kaydet</acun:button></div>
</form>
PropDeğerler
name / wire:modelHatanın arandığı alan adı
02

İpucu ve hata

Hata varken alanın hint metni gizlenir ve yerine hata mesajı gösterilir; hata giderilince ipucu geri gelir. Bu yüzden biçim açıklamalarını ipucuna yazmak güvenlidir.

CANLI ÖRNEK
<div class="grid gap-4 md:grid-cols-2">
    <acun:input name="sifre_ipucu" type="password" label="Şifre" hint="En az 8 karakter." />
    <acun:input name="sifre_hata" type="password" label="Şifre" hint="En az 8 karakter." value="1234" />
</div>
PropDeğerler
hintHata yokken gösterilir
03

Hatayı kendisi göstermeyen alanlar

Hatayı otomatik gösteren alanlar acun:input (ve onu kullanan acun:date-picker), acun:select, acun:combobox, acun:textarea ve acun:input-group'tur. Checkbox, radio, switch, etiket girişi ve seçim kartlarında mesajı @error ile kendiniz ekleyin.

CANLI ÖRNEK
<div class="flex flex-col gap-1.5">
    <acun:checkbox name="kosullar" label="Kullanım koşullarını kabul ediyorum" />
    @error('kosullar')
        <p class="text-sm text-red-600">{{ $message }}</p>
    @enderror
</div>
PropDeğerler
@errorcheckbox · radio · switch · tag-input · option-card · input-otp · range
04

Livewire ile

Kuralları rules() içinde toplayın ve kaydederken validate() çağırın. Alan her değiştiğinde doğrulamak için updated() içinde validateOnly() kullanın; bunu wire:model.live.blur ile birleştirirseniz hata, kullanıcı alandan çıkınca görünür (Livewire 4'te tek başına .blur istek göndermez, sunucu değeri görmez).

PHP
protected function rules(): array
{
    return [
        'ad' => ['required', 'string', 'max:120'],
        'telefon' => ['required', 'digits:10'],
        'grup' => ['required', 'exists:musteri_gruplari,id'],
    ];
}

public function updated(string $alan): void
{
    $this->validateOnly($alan);
}

public function kaydet(): void
{
    $veri = $this->validate();
    // …
}
Acun UI · Form doğrulamaDetaylı kullanım ve örnekler