Laravel Validator Hatalarını Gösterme (Validator Fails Response)

Bugün validator ile geri döndürmeyi anlatmaya çalışacağım hızlıca. İlk önce hedefimiz validator vasıtasıyla formdan gelen verileri hızlıca test edip varsa bunun hatasını kullanıcıya sunmak istiyoruz. Örneğin tc kimlik numarası diye textbox’ımız olsun. bunu 11 değilde 12 haneli doldurduklarında karşılarına çıkacak mesajı göstereceğiz.

Hemen hangi controllerda kullanacaksak onun fonksiyonuan gelip şunları yazıyoruz;

<code> $validator = Validator::make($request->all(), [
            'tc' => ['required','numeric'],
            'isim' => ['required','string', 'max:50'],
            'soyisim' => ['required','string', 'max:50'],
            'birlik' => ['required'],
            'tertip' => ['required'],
]);</code>

Gördüğünüz gibi tc adlı değerimiz gerekli ve numara olmak zorunda, isim değişkenimiz gerekli, string ve maksimum 50 karakter olmakta. (tcyi 11 haneli yazmamışım onu dert etmeyin onu siz ekleyin. Şimdi ise bunlarda bi hata varsa nereye gideceğini belirtiyoruz.

<code>if ($validator->fails()) {
          $errors = $validator->errors()->first();
          return view('uyeekle')->with('error',$errors);
        }</code>

hemen bir errors değişkeni içine validatorden gelen ilk hatayı atıyoruz ve bunu uyeekle.blade.php sayfasına error değişkeni adıyla yolluyoruz. Şimdi uyeekle.blade.php dosyasına gelip diyoruz ki sana error diye bir değişkenle gelinirse onu yaz. bunu da aşağıdaki kod vasıtasıyla yapıyoruz;

<code> @if(isset($error))
                &lt;div class='alert alert-danger alert-dismissible'>
                    &lt;h4>Sonuç Ekranı&lt;/h4>
                    &lt;p>{{$error}}&lt;/p>
                &lt;/div>
            @endif</code>

Artık kendi hata stilinize göre error değişkeninin başka yerde yazdırırsınız. Ama şunu unutmayın if ve p içinde yazan error mutlaka olmak zorunda.

Leave a Reply

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Next ArticleLaravel csrf token mismatch for ajax POST Request Hatası