Laravel Form Request – Override Value

Selam, bu yazımda Laravel Form Request validation‘dan ve gelen parametrelerin değiştirilmesinden bahsedeceğim. Formdan veya API dan gönderilmeyen parametreyi ekleyebilir yada gönderilen parametre değerini değiştirebilirsiniz.

Form Request Prepare For Validation

Validasyondan önce çalışır. prepareForValidation() methodu ile gelen request’i manipüle (değiştirmek) edebilirsiniz.

/**
 * Prepare the data for validation.
 *
 * @return void
 */
public function prepareForValidation()
{
    // before rules

    $this->merge([
        'position' => 'in',
    ]);
}

Form Request Rules

Validasyon methodudur. Oldukça kapsamlı içerikler kullanabilrsiniz. Tüm Koşulların listesi için Larvel Available Validation Rules dökümanını inceleyin.

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'name' => 'required',
        'position' =>  ['required', 'in:in,out'],
    ];
}

Form Request Passed Validation

Validasyondan sonra çalışan method’dur. Validasyondan geçmiş veriyi manipüle etmek (değiştirmek) için kullanılır.

/**
* Handle a passed validation attempt.
*
* @return void
*/
public function passedValidation()
{
    // After Rules
    $this['slug'] = Str::slug($this->name);
}

Form Request Message

Validasyon, hata mesajlarını tanımlamak için kullanılır.

/**
 * Get the error messages for the defined validation rules.
 *
 * @return array
 */
public function messages()
{
    return [
        'name.required' => ':attribute alanı zorunludur',
    ];
}

Form Request Attributes

Messages methodun’dan önce çalışır. :attribute alanlarının anlaşılır isim listesi için kullanılır. Dil desteği içinde kullanılabilir.

/**
 * Get custom attributes for validator errors.
 *
 * @return array
 */
public function attributes()
{
    return [
        'name' => 'isim', // name || имя
    ];
}

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gerçek kişi doğrulaması

96 − = 91