design

Laravel’de Form ve Validation İşlemleri

March 23, 2025

Merhaba arkadaşlar, bugün sizlere Laravel’de form işlemleri ve validation (doğrulama) konularını anlatacağım. Formlar, web uygulamalarının vazgeçilmez bir parçasıdır ve kullanıcılardan veri almak için kullanılır. Laravel, form işlemlerini kolaylaştıran ve güvenli hale getiren birçok özellik sunar. Ayrıca, kullanıcıların girdiği verileri doğrulamak için güçlü bir validation sistemi sunar. Gelin, bu konuları adım adım inceleyelim.


<form method="POST" action="/register">
  @csrf
  <div>
    <label for="name">Adınız:</label>
    <input type="text" id="name" name="name">
  </div>
  <div>
    <label for="email">E-posta:</label>
    <input type="email" id="email" name="email">
  </div>
  <div>
    <label for="password">Şifre:</label>
    <input type="password" id="password" name="password">
  </div>
  <button type="submit">Kayıt Ol</button>
</form>


Laravel’de Form İşlemleri

Laravel’de form oluşturmak için Blade template motorunu kullanabilirsiniz. Örneğin, bir kullanıcı kayıt formu oluşturalım. Bu form, POST metodu ile /register adresine veri gönderecektir. Formun içinde @csrf direktifi kullanarak CSRF koruması sağlayabilirsiniz. Bu, uygulamanızı güvenli hale getirir ve yetkisiz erişimleri engeller.


Form verilerini işlemek için bir route ve controller oluşturmanız gerekiyor. Örneğin, routes/web.php dosyasına bir route ekleyebilirsiniz. Ardından, UserController içinde register metodunu oluşturabilirsiniz. Bu metod, formdan gelen verileri alır ve doğrulama işlemlerini gerçekleştirir.


Route Tanımı:

Route::post('/register', [UserController::class, 'register']);


Ardından, UserController içinde register metodunu oluşturabilirsiniz. Bu metod, formdan gelen verileri alır ve doğrulama işlemlerini gerçekleştirir.

Controller Kodu:


public function register(Request $request)
{
    // Form verilerini doğrulama
    $validatedData = $request->validate([
        'name' => 'required|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|min:8',
    ]);

    // Kullanıcıyı kaydetme işlemi
    $user = User::create($validatedData);

    // Başarılı kayıt sonrası yönlendirme
    return redirect('/')->with('success', 'Kayıt başarılı!');
}


Bu kodda, $request->validate() metodu ile form verileri doğrulanır. Eğer doğrulama başarısız olursa, otomatik olarak hata mesajları oluşturulur ve kullanıcıya gösterilir.


Laravel’de Validation (Doğrulama)

Laravel, kullanıcıların girdiği verileri doğrulamak için güçlü bir validation sistemi sunar. Validation kuralları, kullanıcıların doğru ve tutarlı veri girmesini sağlar. Örneğin, bir kullanıcı kayıt formunda ad, e-posta ve şifre alanlarını doğrulamak için requiredemailunique ve min gibi kurallar kullanabilirsiniz.

Validation kurallarına uymayan veriler için otomatik hata mesajları oluşturulur. Bu hata mesajlarını Blade template’de göstermek için $errors değişkenini kullanabilirsiniz. Bu sayede, kullanıcılar hatalarını kolayca görebilir ve düzeltebilir.

Eğer validation hata mesajlarını özelleştirmek istiyorsanız, messages metodunu kullanabilirsiniz. Bu metod sayesinde, her bir validation kuralı için özel hata mesajları tanımlayabilirsiniz. Örneğin, "Ad alanı zorunludur." veya "Bu e-posta adresi zaten kullanılıyor." gibi mesajlar ekleyebilirsiniz.


Laravel’de Form ve Validation’ın Avantajları

Laravel’de form ve validation işlemleri, web uygulamalarının güvenli ve kullanıcı dostu olmasını sağlar. CSRF koruması ve validation kuralları sayesinde, kullanıcıların güvenli bir şekilde veri göndermesi sağlanır. Ayrıca, validation kurallarını özelleştirerek farklı ihtiyaçlara uygun hale getirebilirsiniz.

Otomatik hata mesajları sayesinde, kullanıcıların hatalarını kolayca görmesi ve düzeltmesi sağlanır. Bu, kullanıcı deneyimini artırır ve uygulamanızın daha profesyonel görünmesini sağlar.


Hata Mesajlarını Gösterme:

@if ($errors->any())
    <div class="alert alert-danger">
        @foreach ($errors->all() as $error)
            <p>{{ $error }}</p>
        @endforeach
    </div>
@endif


Özel Hata Mesajları

Eğer validation hata mesajlarını özelleştirmek istiyorsanız, messages metodunu kullanabilirsiniz. Bu metod sayesinde, her bir validation kuralı için özel hata mesajları tanımlayabilirsiniz.


Özel Hata Mesajları Örneği:

$request->validate([
    'name' => 'required|max:255',
    'email' => 'required|email|unique:users',
    'password' => 'required|min:8',
], [
    'name.required' => 'Ad alanı zorunludur.',
    'email.unique' => 'Bu e-posta adresi zaten kullanılıyor.',
    'password.min' => 'Şifre en az 8 karakter olmalıdır.',
]);


Bu kodda, her bir validation kuralı için özel hata mesajları tanımlanmıştır. Örneğin, eğer kullanıcı ad alanını boş bırakırsa, "Ad alanı zorunludur." mesajı görüntülenir.


Laravel’de Form ve Validation Kullanım Örnekleri

Laravel’de form ve validation işlemleri birçok farklı senaryoda kullanılabilir. Örneğin, kullanıcıların kayıt olması için bir form oluşturabilir ve girdikleri verileri doğrulayabilirsiniz. Benzer şekilde, bir iletişim formu oluşturarak kullanıcıların iletişim bilgilerini güvenli bir şekilde göndermesini sağlayabilirsiniz.

Admin panelinde ürün eklemek için bir form oluşturabilir ve ürün bilgilerini doğrulayabilirsiniz. Bu sayede, yanlış veya eksik veri girişlerini engelleyebilirsiniz.


Laravel’de form ve validation işlemleri, web uygulamalarının güvenli ve kullanıcı dostu olmasını sağlar. Eğer kullanıcılardan veri almak ve bu verileri doğrulamak istiyorsanız, Laravel’in sunduğu bu özellikleri mutlaka kullanmalısınız. Bir sonraki yazımda, Laravel ile Multi-Language Uygulama Geliştirme konusuna değineceğim. Görüşmek üzere!

5 + 2 =