در هنگام اعتبار سنجی اطلاعات در فریم ورک Laravel حالات مختلفی اتفاق میافتد. مثلا ممکن است شما جدول کاربران در دیتابیس را به گونه ای طراحی کرده باشید که بتوان کاربری با نام و نام خانوادگی null ایجاد کرد. این وضعیت زمانی اتفاق میافتد که نام و نام خانوادگی کاربر برای پروژهی شما اهمیت زیادی نداشته باشد و الزامی برای دریافت این اطلاعات نیز وجود نداشته باشد. در فریم ورک laravel قاعدهای برای اعتبارسنجی وجود دارد که به شما این امکان را میدهد که کلید مورد نظر موجود در درخواست را با مقدار تهی(null) بپذیرید. از طرفی ممکن است ارائه بخشی از اطلاعات الزامی نباشد. بطور مثال فرض کنید در همین جدول کاربران که پیشتر در مورد آن صحبت شد، جدول به گونهای طراحی شده باشد که مقدار نام و نام خانوادگی را به صورت default برابر null قرار دهد. در این حالت، وقتی بخواهید کاربری جدید ایجاد کنید، نیازی نیست که حتما نام و نام خانوادگی را(حتی با مقدار null) دریافت کرده و در دیتابیس ذخیره کنید. در چنین وضعیتی تنها با وارد کردن مقادیر لازم برای field های ضروری میتوان کاربر جدید را ایجاد کرد. مثلا اگر شما با ایمیل و پسورد کاربرانتان را احراز هویت میکنید، تنها دریافت همین مقادیر در هنگام ثبت کاربر کافی خواهد بود. قاعدهای که این امکان را برای شما فراهم میکند sometimes نام دارد. در ادامه هر کدام از این قواعد را به همراه مثال بررسی خواهیم کرد.
قاعده اعتبارسنجی nullable در لاراول
فرض کنید میخواهیم درخواستی را اعتبارسنجی کنیم که پارامتری در درخواست وجود دارد و مقدار آن میتواند تهی یا غیرتهی باشد. مثلا API ثبت اطلاعات کاربر را در نظر بگیرید که میخواهد نام و نام خانوادگی و ایمیل کاربر را ذخیره کند. پیشتر در زمان ایجاد جداول دیتابیس تعیین کردهایم که مقدار نام و نام خانوادگی میتواند null باشد. در چنین وضعیتی از قاعدهی اعتبارسنجی nullable در لاراول استفاده میکنیم. یعنی پارامتر نام و نام خانوادگی میتواند با مقدار تهی در درخواست وجود داشته باشد. به نمونه کد زیر دقت کنید:
public function rules() { return [ 'name' => 'nullable', 'family' => 'nullable', 'email' => 'required|email', ]; }
قاعده اعتبارسنجی sometimes در لاراول
ممکن است بخواهیم وجود یا عدم وجود پارامتر در درخواست را اختیاری کنیم. یعنی درخواست ممکن است شامل نام و نام خانوادگی باشد یا نباشد. این روش اعتبارسنجی زمانی کارایی دارد که قصد ایجاد API ویرایش را داشته باشید. زمانی که بخواهیم کاربری را ویرایش کنیم، باید این اختیار را داشته باشیم که نام یا نام خانوادگی یا ایمیل و یا هر ترکیب دلخواهی از این اطلاعات را ویرایش کنیم. در چنین وضعیتی از قاعدهی sometimes در لاراول استفاده میکنیم. همانطور که از نام این قاعده برداشت میشود. پارامتری که با این قاعده اعتبارسنجی میشود میتواند گاهی اوقات در درخواست وجود داشته باشد و گاهی اوقات نباشد.
public function rules() { return [ 'name' => 'sometimes|required|min:3', 'family' => 'sometimes|required|min:3', 'email' => 'sometimes|required|email', ]; }
برای مطالعه مطالب بیشتر در مورد فریم ورک لاراول به دستهی مربوطه مراجعه کنید.
موفق و پیروز باشید.