النماذج (Forms) ونظام التحقق من البيانات (Validation)

تعتبر نماذج الاستقبال (Forms) هي وسيلة التواصل الأساسية بين المستخدم وتطبيقك. ولكن، القاعدة الذهبية في البرمجة هي "لا تثق أبداً بمدخلات المستخدم". هنا يبرز نظام التحقق (Validation) في Laravel، والذي يوفر لك عشرات القواعد الجاهزة للتأكد من أن البيانات المرسلة صحيحة، آمنة، وبالتنسيق المطلوب قبل أن تصل إلى قاعدة البيانات.

1. إنشاء النموذج في Blade

عند إنشاء نموذج في Laravel، يجب دائماً تضمين الـ Directive الخاص بـ @csrf للحماية من الهجمات، وتحديد المسار (Action) والنوع (Method):

resources/views/posts/create.blade.php
@csrf

2. التحقق من البيانات داخل المتحكم

يتيح لك كائن الطلب (Request) استخدام وظيفة validate لتطبيق قواعد التحقق بسهولة. إذا فشل التحقق، سيقوم لارافيل بإعادة المستخدم تلقائياً للصفحة السابقة مع عرض الأخطاء.

PostController.php
public function store(Request $request)
{
    $validated = $request->validate([
        'title' => 'required|max:255|min:5',
        'body' => 'required',
    ]);

    // الإدخال لا يتم إلا إذا كانت البيانات صحيحة
    Post::create($validated);
}

3. عرض رسائل الخطأ للمستخدم

يوفر لارافيل متغير $errors الذي يكون متاحاً تلقائياً في جميع قوالب Blade لعرض الأخطاء الناتجة عن التحقق:

@if ($errors->any())
    
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif

أسئلة شائعة حول التحقق

يوفر لارافيل أكثر من 80 قاعدة جاهزة (مثل: email, unique, numeric, image, confirmed). يمكنك العثور عليها بالكامل في التوثيق الرسمي تحت قسم Validation.

يمكنك تعريب الرسائل من خلال تعديل ملفات اللغة في مجلد lang/ar. سيقوم لارافيل بعرض الرسائل بالعربية بناءً على إعدادات اللغة في تطبيقك.
الدرس القادم

طلبات HTTP المخصصة (Form Requests)

عندما تكبر القواعد، يصبح المتحكم مزدحماً. سنتعلم كيف ننقل منطق التحقق إلى كلاسات منفصلة واحترافية تسمى Form Requests.

تعلم Form Requests
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن