Laravel’de URL Parametrelerinin Doğrulanması

Laravel, form verilerinin doğrulanmasını kolaylaştıran güçlü ve esnek bir doğrulama sistemine sahiptir. Ancak, bazen URL parametrelerini veya “route” parametrelerini doğrulamanız gerekebilir. Laravel, FormRequest sınıfları ile bu tür senaryoları kolaylıkla işleyebilir.

FormRequest Sınıflarının Kullanılması

Laravel’de HTTP requestlerinin doğrulanması genellikle bir FormRequest sınıfı ile yapılır. Bu, tüm doğrulama kurallarını ve yetkilendirme mantığını tek bir yerde toplamanıza izin verir.

Bir FormRequest sınıfı oluşturmak için Laravel’in artisan komutunu kullanabilirsiniz:

Bash
php artisan make:request VerifyUserRequest

Bu komut, app/Http/Requests/VerifyUserRequest.php adlı yeni bir dosya oluşturur. Bu dosyada iki ana metod bulunur: authorize ve rules.

  • authorize metodunda, isteği yapan kullanıcının bu isteği yapma yetkisi olup olmadığı kontrol edilir.
  • rules metodunda, request verilerinin karşılaması gereken doğrulama kuralları belirlenir.

URL Parametrelerini Doğrulama

Eğer bir URL şu şekildeyse: https://example.com/verify/{id}/{hash}, ve istemcinin bu endpoint’e id ve hash parametrelerini sağlaması gerekiyorsa, bu parametreleri FormRequest sınıfı ile doğrulayabiliriz.

Öncelikle, route tanımımızı belirtelim:

PHP
Route::get('/verify/{id}/{hash}', 'VerificationController@verify')->name('verify')->where('id', '[0-9]+');

Ardından, VerifyUserRequest sınıfımızda rules metodunu aşağıdaki gibi tanımlayabiliriz:

PHP
public function rules()
{
    return [
        'id' => 'required|integer|exists:users,id',
        'hash' => 'required|string',
    ];
}

Bununla birlikte, Laravel bu parametreleri doğrulayabilmek için URL’den gelen parametrelerin ve request verilerinin birleşimini kullanmalıdır. Laravel, varsayılan olarak yalnızca request verilerini doğrular. Bu nedenle, URL’den gelen parametrelerin doğrulanmasını sağlamak için, validationData metodunu FormRequest sınıfımıza eklemeliyiz:

PHP
public function validationData()
{
    return array_merge($this->route()->parameters(), $this->all());
}

Bu metod, route parametrelerini ve request verilerini birleştirir. Artık Laravel, id ve hash parametrelerini URL’den çeker ve belirlediğimiz doğrulama kurallarını uygular. Sonuç olarak, FormRequest sınıfı, route parametrelerini doğrulama ihtiyacımız olduğunda da oldukça kullanışlıdır. Doğru şekilde kullanıldığında, form verilerini ve URL parametrelerini doğrulama işlemlerimizi tek bir yerde organize edebiliriz.

Umuyorum ki bu rehber, Laravel ile URL parametrelerini nasıl doğrulayacağınıza dair size yardımcı olmuştur.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top