اعتبارسنجی روت ها در لاراول، در این مطلب مسیرهای ارسالی از مرورگر را که اغلب با پارامترهایی از جمله شناسه همراه هستند را اعتبارسنجی می کنیم.
در پروژه های بک اند ما همواره با درخواست هایی از مرورگر مواجه هستیم که پارامترها یا مقادیری را به همراه خود ارسال می کنند.
فرض کنید شناسه یا یک id کاربر که قرار هست بر اساس آن پردازش خاصی انجام شود و حالت های مشابه دیگر.
ما باید قبل پردازش این درخواست ها آنها را اعتبارسنجی کنیم، مثلا اگر قرار هست یک شناسه دریافت شود باید بررسی کنیم که مقدار دریافتی یک عدد باشد و نه یک رشته و بالعکس.
اعتبارسنجی روت ها در لاراول با استفاده از متد where
در مثال زیر اگر بخواهیم از کاربر یک عدد مثل id دریافت کنیم و مقدار ارسالی رو با استفاده از متد where بررسی کنیم از خط کد 2 استفاده می کنیم.
حالا اگر نیاز باشه به جای عدد یک عبارت رشته ای دریافت بشه از خط کد 5 استفاده می کنیم.
برخی مواقع نیاز هست هر دو رو بررسی کنیم، بدین خطار می توانیم خط کد 8 رو به کار ببریم.
// Check Number
Route::get('/blog/{id}', [PostController::class, 'show'])->where('id', '[0-9]+');
// Check String
Route::get('/blog/{id}', [PostController::class, 'show'])->where('name', 'A-Za-z');
// Check Complex
Route::get('/blog/{id}/{name}', [PostController::class, 'show'])->where([
'id' => '[0-9]+',
'name' => '[A-Za-z]+'
]);
لاراول متدهایی رو برای بررسی پارامترهای عددی و رشته ای ارائه داده که می تونیم به جای استفاده از حالت های بالا به شکل زیر از این متدها استفاده کنیم.
استفاده از متدهای whereNumber و wereAlpha در لاراول
Route::get('/blog/{id}', [PostController::class, 'show'])->whereNumber('id');
Route::get('/blog/{id}', [PostController::class, 'show'])->whereAlpha('name');
Route::get('/blog/{id}/{name}', [PostController::class, 'show'])
->whereNumber('id')
->whereAlpha('name');
جمع بندی
در این مقاله سعی کردم اعتبار سنجی روت ها یا مسیرها و همچنین پارامترهای ارسالی همراه آنها را در فریم ورک لاراول توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.
لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.