Laravel Validation Kullanımı

Laravel Validation Kullanımı

Hepinize merhaba dostlarım 😊. Hepinize hayırlı ramazanlar diliyorum. Yoğun ve koşuşturmalı bir haftanın ardından gelen pazar gününü mübarek ramazan ayında da boş geçirmenin doğru olmadığını düşündüm ve verdiğimiz söz olan "Her pazar yeni bir konu" düşüncesiyle hareket edip sizler için yeni yeni makaleler çıkarmaya çalışıyorum. Yazılar hemen hızlı bir şekilde paylaşılamayacak dostlarım ramazan ayı içerisinde olan işlerimin yoğunluğu  ve iş giriş-çıkış saatlerimde dolayı. Ama sizler için elimden geldiğince hızlı bir şekilde makale yazmaya çalışacağım 😊

Şimdiiiii asıl meseleye gelelim bu hafta ne göreceğiz 😊. Bu hafta sizlerin hemen hemen çoğu sistemlerde gördüğü ve bazen yeter artık dediğiniz yapının kullanımından bahsedeceğiz ve ufak bir örnek yapacağız dostlarım 😊. Şimdi aklınıza her zamanki gibi sorular takılmaya başladı. Diyorsunuzdur içinizden

Acaba hangisiydi bu bizi sinir eden yapı 🤔. Ama yapsak da fena olmaz gelişmiş oluruz

şeklinde sözler dolanıyordur. En son dediğiniz cümle beniim çok hoşuma gitti dostlarım. Ve sizi de daha fazla merak içinde bırakmayım malum ramazan ayındayız ve sizleri de yormak istemem 😊.

Bu hafta dostlarım sistemler üzerinde sıklıkla gördüğümüz "Validation" işlemlerinden bahsedeceğiz. Daha önce bu terimi duyanlarınız vardır veya ilk defa şu an karşılaşanlarınız vardır. O halde ben de daha fazla çenemin düşmesine engel olmadan kısa bir şekilde açıklayayım 😊

Nedir Bu Validation ?

Eveeeet gelelim artık konumuza dostlarım. Validation yani Türkçe karşılığı doğrulama olan bu yapı kullanıcı tarafından alınacak olan isim,soyisim,şifre,email vb. gibi bilgilerin belirtilen bir yapıda olarak alınması, karakter sayısı vb. gibi analizleri yapılma sistemi olarak geçiyor. Doğrulama derken aklınıza Two Auth Factor gibi ileri şeyler asla gelmesin dostlarım. Buradaki doğrulamalar örnek veriyorum şifre 8 karakter olacak email gerçek bir email adresi olacak gibi ayarlamaların yapılması işlemleridir.

Siz değerli okuyucularım mantığı hızlıca kapmışsınızdır içime bir anlık bir his öyle söyledi dostlarım 😊. O halde neden duruyoruz ki hemen kodlama islemlerine girisimizi yapalım 😊

Pekiştirme Zamanı 

Eveeet dostlarım. Hemen hızlıca bir laravel projesi kuralım. Bunu sizin hızlıca bir şekilde kurduğunuzu varsayıyorum çünkü bazı okuyucularımdan gelen ileri laravel sorularını gördüğüm üzere artık pratikleştiğinizi anladım 😊. Daha sonrasında dostlarım bir tane indexController kuralım. Bunu da elle yapmak yerine her zamanki kullandığımız komut yani artisan ile yapmamız lazım. Terminal üzerinden gelip

php artisan make:controller indexController

şeklinde kodlarımızı yazmamız gerekli olacaktır. Bu kısmı da ayarladığımıza göre dostlarım gelelim şimdi indexController dosyamızın içerisine

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class indexController extends Controller
{
    public function index(){   // sayfa acılınca acılacak olan view
        return view('form');
    }

    public function gonder(Request $request){   // kurallar burada olacaktır
        $request->validate(array(
            "name" => "required",
            "surname" => "required",
            "email" => "required|email",
            "password" => "required|min:8|max:16"
        ));

        echo "Veriler Geldi";   // bu kısım kurallar sağlanmadan hayatta yazmaz
    }
}

şeklinde kodlarımızı yazdık. Şimdi gelelim dostlarım kodlarda gördüğünüz gibi form.blade.php sayfasının düzenlenmesini gerçekleştirelim

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Laravel Validation Kullanımı -1- | MFSoftware Blog</title>
</head>
<body>
<form action="{{ route('front.gonder') }}" method="POST">
    @csrf
    <label for="">Adınız: </label>
    <input type="text" name="name">
    @error('name')
    <small style="color: red;">{{ $message }}</small>
    @enderror
    <br>
    <label for="">Soyadınız: </label>
    <input type="text" name="surname">
    @error('surname')
    <small style="color: red;">{{ $message }}</small>
    @enderror
    <br>
    <label for="">E-Mail Adresiniz: </label>
    <input type="text" name="email">
    @error('email')
        <small style="color: red;">{{ $message }}</small>
    @enderror
    <br>
    <label for="">Şifreniz: </label>
    <input type="password" name="password">
    @error('password')
        <small style="color: red;">{{ $message }}</small>
    @enderror
    <br>
    <button type="submit">Gönder</button>
</form>
</body>
</html>

şeklinde olan kısımları da ayarladık. Daha sonra geriye ne kaldı dememe gerek kalmadı çünkü hepiniz web.php içerisinde rotasyon vermeyi unuttuk dediniz. Tamam hemem oraya geçişimizi yapalım. Hemen web.php dosyamızı açalım ve içerisinde

Route::group(['prefix'=>'/','as'=>'front.'],function (){
    Route::get('',[\App\Http\Controllers\indexController::class,'index'])->name('index');
    Route::post('gonder',[\App\Http\Controllers\indexController::class,'gonder'])->name('gonder');
});

şeklinde kodlarımızı yazalım dostlarım. Bu kısmı da ayarladıktan sonra efsane komutumuzu gelip terminali açıp

php artisan serve

olarak yazalım. Sayfamız açıldığında ekranımıza gelecek olan görüntü

şeklinde görüntü ekranımıza geldi dostlarım. Mesela email kısmını yanlış girelim, şifreyi 5 karakter girelim, isim ve soyismi boş girelim. Ekranımıza gelecek olan çıktı tamamen şu şekilde olacaktır

şeklinde bize uyarı verdirdi dostlarım. Şimdi controller kısmında yazdığımız validation kodlarını bir tablo halinde inceleyelim dostlarım

required Bu kod adından da anlaşılacağı üzere o alanın doldurulmasını zorunlu kılar
email Genellikle email alanlarının doldurulmasında karşımıza çıkar. Gelen verinin gerçekten bir email mi olduğunu analiz eder
min Belirtillen form input alanınından alınacak minimum karakter sayısını ister
max Belirtillen form input alanınından alınacak maksimum karakter sayısını ister

şeklinde kodlarımızı yazdık dostlarım. Yani uzun lafın kısası dostlarım biz bu validation işlemini kullandığımız zaman şartlar sağlanmadığında laravel bize

şeklinde uyarı veriyor. Yani mecbur o şartın sağlanmasını istiyor. 

Şimdiiiii sizin aklınıza bir soru daha geldi dostlarım ve bunu kodlarken ben sezdim 😅

Hocam neden hatalar ingilizce geliyor neden Türkçe olarak gelmiyor. Bunu ayarlamamızın bir yolu var mı ?

şeklinde soruları ben de ilk zamanlarda sormuştum dostlarım hiç unutmuyorum. Bunu bir sonraki yazımda sizlere harici bir yapı üzerinde anlatacağım 😊. İsterseniz siz de araştırabilirsiniz gelecek haftaya kadar dostlarım 😊. Hem sektörde kullanılan bir yapıdan bahsetmiş olacağım orada da 😊. Validation konularında takıldığınız yerleri Taylor Otwell Amca'nın Yerine uğrayıp bakabilirsiniz.

Eveeeet dostlarım 😊. Bu yazımda sizlere elimden geldiğince dilim döndüğünce Laravel Üzerinde Validation İşlemleri kullanımından elimden geldiğince dilim döndüğünce bahsetmeye çalıştım. Umarım faydalı olmuşumdur. Eksik veya hatalı bir anlatım yapmış isem benimle iletişime geçmekten çekinmeyin 😊. Konu başlarda biraz karmaşık veya zor gelebilir dostlarım anlıyorum. Özellikle öğrenme sürecinde bunun gibi sorunlarla karşılaşmamız son derece doğaldır. Bu noktada sizlerden yapmanızı istediğim tek şey her yazımda da dediğim gibi "İstikrarlı ve azimli olmalısınız, bolca pratik yapmalısınız 😊" olacaktır. Bu dediklerimi  hayat felsefeniz yaptığınız sürece başarı sizler için kaçınılmaz olacaktır 😊.

Aynı zamanda 25 Aralık 2022 de kurmuş olduğum seyyaryazilimci.com soru cevap sitesi üzerinde yazılımda takıldığınız konuları sorabilir, aynı durumda olan yazılımcı dostlarımıza yardımda bulunabilirsiniz. Sorular ve cevaplar belirli bir süre admin onayından geçerek sistem üzerinde yayınlanmaktadır dostlarım bilginize 😊

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim 😊

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıTinyMCE Metin Editörü Entegrasyonu
Sonraki YazıLaravel Türkçe Validation Ayarı
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz