اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ممكن تعديل علي كود حفظ بيانات الطالب التالي 

بحيث جعل عند ترك كل حقول فارغه يظهر تنبيه اسفل حقل وممكن كود لحفظ صورة يكون داخل مجلد وكيفية جعل input رقم القيد يقبل ارقام فقط 

انا لدي مفتاج اجنبي رقم قسم في جدول طالب كيف اتعامل معاه اثناء حفظ البيانات 

 

public function store(Request $request)
    {
        $request->validate([
            'name_std' => 'required|string|max:180',
            'num_std' => 'required|max:180',
            'image' => 'image',

        ]);
        $student = new student();
        $student->name_std = $request->input('name_std');
        $student->num_std = $request->input('num_std');
        $student->email_std = $request->input('email_std');
        $student->date_student = $request->input('date_student');
        $student->adress_std = $request->input('adress_std');
        $student->phone = $request->input('phone');
        $student->gender = $request->input('gender');
        $student->id_dept = $request->input('id_dept'); // حفظ id_dept
        $student->save();
        return redirect('/student');
    }

 

لقطة شاشة 2024-10-01 175846.png

Recommended Posts

  • 0
نشر

وعليكم السلام 

بنسبه لاظهار تنبيهات عند حدوث مشكله في التحقق يمكنك وضع ترجمة الرساله كما تريد 
مثال 
 

    $request->validate([
        'name_std' => 'required|string|max:180',
    ], [
        'name_std.required' => 'يرجى إدخال اسم الطالب',
        
    ]);

بنسبه لطريقة رفع الصور في لارافل يمكنك اتباع هذه الطريقه 
 

   if ($request->hasFile('image')) {
        $imagePath = $request->file('image')->store('public/images');
        $student->image = basename($imagePath); // حفظ اسم الصورة في قاعدة البيانات
    }

ايضا اذا كنت تريد ضمان ان القيمه يتم حفظها بطريقه عدد صحيح اولا اجعل ال form بهذه الطريقه 

<input type="number" name="num_std" class="form-control" placeholder="رقم القيد">

ثانيا التحقق في لارافل عن القيمه التي ترجع من ال form
 

 $request->validate([
        'name_std' => 'required|string|max:180',
        'num_std' => 'required|numeric', // التأكد أن رقم القيد هو أرقام فقط
    ], [
        'name_std.required' => 'يرجى إدخال اسم الطالب',
        'num_std.required' => 'يرجى إدخال رقم القيد',
    
    ]);

اخير هذه الدالة الحفظ بعد تحسينها 
 

public function store(Request $request)
{
    // التحقق من المدخلات مع تخصيص الرسائل
    $request->validate([
        'name_std' => 'required|string|max:180',
        'num_std' => 'required|numeric', // التأكد أن رقم القيد هو أرقام فقط
        'email_std' => 'required|email',
        'date_student' => 'required|date',
        'adress_std' => 'required|string|max:255',
        'phone' => 'required|string|max:15',
        'gender' => 'required|in:male,female',
        'id_dept' => 'required|exists:departments,id', // التحقق من وجود id_dept في جدول الأقسام
        'image' => 'nullable|image|mimes:jpg,jpeg,png|max:2048', // التحقق من الصورة
    ], [
        'name_std.required' => 'يرجى إدخال اسم الطالب',
        'num_std.required' => 'يرجى إدخال رقم القيد',
        'num_std.numeric' => 'يجب أن يحتوي رقم القيد على أرقام فقط',
        'email_std.required' => 'يرجى إدخال البريد الإلكتروني',
        'date_student.required' => 'يرجى إدخال تاريخ تسجيل الطالب',
        'adress_std.required' => 'يرجى إدخال عنوان الطالب',
        'phone.required' => 'يرجى إدخال رقم الهاتف',
        'gender.required' => 'يرجى تحديد الجنس',
        'id_dept.required' => 'يرجى تحديد القسم',
        'id_dept.exists' => 'القسم غير موجود',
        'image.image' => 'يرجى رفع صورة صحيحة',
    ]);

    // إنشاء كائن طالب جديد
    $student = new student();
    $student->name_std = $request->input('name_std');
    $student->num_std = $request->input('num_std');
    $student->email_std = $request->input('email_std');
    $student->date_student = $request->input('date_student');
    $student->adress_std = $request->input('adress_std');
    $student->phone = $request->input('phone');
    $student->gender = $request->input('gender');
    $student->id_dept = $request->input('id_dept'); // حفظ id_dept

    // حفظ الصورة في مجلد إذا كانت موجودة
    if ($request->hasFile('image')) {
        $imagePath = $request->file('image')->store('public/images');
        $student->image = basename($imagePath); // حفظ اسم الصورة في قاعدة البيانات
    }

    $student->save(); // حفظ بيانات الطالب

    return redirect('/student')->with('success', 'تم حفظ بيانات الطالب بنجاح');
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...