تخطَّ إلى المحتوى

make:request

توليد طلب نموذج للتحقّق make:request

make:request يولّد صنف طلب نموذج (Form Request) في app/Http/Requests، لنقل قواعد التحقّق من المدخلات خارج المتحكّم إلى صنف مستقلّ قابل لإعادة الاستخدام.

بدل كتابة قواعد $request->validate([...]) داخل كل تابع متحكّم، يفوّض الطلب النموذجي عملية التحقّق كاملة لصنف منفصل له تابعان أساسيان: rules() لقواعد التحقّق، وauthorize() لتحديد هل المستخدم مخوَّل لتنفيذ هذا الطلب أصلًا.

إذا فشل التحقّق يُعاد المستخدم تلقائيًا مع رسائل الخطأ قبل أن يصل المنطق داخل تابع المتحكّم إطلاقًا — لا حاجة لأي كود يدوي إضافي.

الصياغة

php artisan make:request NameRequest

📄 مثال

php artisan make:request StorePostRequest

# داخل app/Http/Requests/StorePostRequest.php
public function authorize(): bool
{
    return true;
}

public function rules(): array
{
    return [
        'title' => 'required|max:255',
        'body' => 'required',
    ];
}

# داخل المتحكّم — التحقّق يحصل تلقائيًا قبل تنفيذ هذا التابع
public function store(StorePostRequest $request)
{
    Post::create($request->validated());
}

💡 نصائح عملية

  • $request->validated() يُرجع فقط الحقول التي مرّت بقواعد التحقّق — أأمن من $request->all()

⚠️ أخطاء شائعة

  • ترك authorize() تُرجع false بالخطأ فيُرفض كل الطلبات بخطأ 403 غير مفهوم السبب

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار LARAVEL الكامل بالعربي.