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:
- 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.");
}
}
}
- Şimdi,
app/Nova/User.phpdosyasını açın vefieldsyöntemini düzenleyin. Bu dosya, Nova’nın kullanıcı modelini yönetmesi için gerekli yapılandırmayı içerir. - Kullanıcı adı alanını doğrulamak için
UppercaseFirstLetterkuralı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.
