Mikail.Net

Yazılımcı günlüğü

php artisan make:rule

Laravel’de yeni bir doğrulama kuralı oluşturmak için php artisan make:rule komutunu kullanacağız ve ardından bu kuralı basit bir form isteği doğrulamasıyla kullanacağız. Bu örnek, Name alanını doğrulamak için UppercaseFirstLetter kuralını kullanır. Eğer kullanıcı adı büyük harfle başlamazsa, hata mesajı döndürülür. Bu şekilde, Laravel Nova kullanıcı yönetimi sayfasında bu doğrulama kuralını uygulamış olursunuz. İşte adım adım bir örnek:

  1. Terminalde, yeni bir doğrulama kuralı sınıfı oluşturun:
php artisan make:rule UppercaseFirstLetter

Bu komut, app/Rules klasöründe UppercaseFirstLetter.php adında yeni bir dosya oluşturacaktır.

<?php

namespace App\Rules;

use Closure;
use Illuminate\Contracts\Validation\ValidationRule;

class UppercaseFirstLetter implements ValidationRule
{
    /**
     * Run the validation rule.
     *
     * @param  \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString  $fail
     */
    public function validate(string $attribute, mixed $value, Closure $fail): void
    {
        if (strtoupper($value[0]) !== $value[0]) {
            $fail("The :attribute must start with an uppercase letter.");
        }
    }
}
  1. Şimdi, app/Nova/User.php dosyasını açın ve fields yöntemini düzenleyin. Bu dosya, Nova’nın kullanıcı modelini yönetmesi için gerekli yapılandırmayı içerir.
  2. Kullanıcı adı alanını doğrulamak için UppercaseFirstLetter kuralını kullanın:
// ...
Text::make('Name')
     ->sortable()
     ->rules('required', 'string', 'max:255', new UppercaseFirstLetter),

// ...

Bu örnek, Name alanını doğrulamak için UppercaseFirstLetter kuralını kullanır. Eğer kullanıcı adı büyük harfle başlamazsa, hata mesajı döndürülür. Bu şekilde, Laravel Nova kullanıcı yönetimi sayfasında bu doğrulama kuralını uygulamış olursunuz.