فصل سوم: فرم، اعتبارسنجی و احراز هویت

فرم و Validation

اعتبارسنجی ورودی‌های کاربر

یکی از قوی‌ترین بخش‌های لاراول سیستم Validation آن است که به‌سادگی امکان بررسی صحت داده‌های ارسالی از فرم را فراهم می‌کند، بدون نیاز به نوشتن شرط‌های دستی و تکراری. اعتبارسنجی معمولاً در داخل Controller و با متد validate روی شیء Request انجام می‌شود:

public function store(Request $request)
{
    $validated = $request->validate([
        'title' => 'required|min:3|max:255',
        'body'  => 'required',
        'email' => 'required|email|unique:users,email',
    ]);

    Post::create($validated);

    return redirect('/posts')->with('success', 'مقاله ثبت شد');
}

اگر داده‌ها معتبر نباشند، لاراول به‌طور خودکار کاربر را به صفحه‌ی قبلی برمی‌گرداند و پیام‌های خطا را در متغیر $errors در دسترس View قرار می‌دهد (@error در Blade این پیام‌ها را نمایش می‌دهد):

@error('title')
    <span class="text-danger">{{ $message }}</span>
@enderror

برای فرم‌های پیچیده‌تر، لاراول امکان ساخت کلاس مجزای Form Request را نیز فراهم می‌کند که منطق اعتبارسنجی را از Controller جدا نگه می‌دارد:

php artisan make:request StorePostRequest

قوانین رایج شامل required (اجباری بودن)، min و max (حداقل و حداکثر طول)، email (فرمت ایمیل معتبر) و unique (یکتا بودن مقدار در جدول) هستند. ترکیب این قوانین باعث می‌شود بدون نوشتن کد تکراری، داده‌های ورودی را قابل اعتماد نگه دارید.

برای ذخیره‌ی پیشرفت و شرکت در آزمون، وارد شوید — رایگان است.