وعليكم السلام
بنسبه لاظهار تنبيهات عند حدوث مشكله في التحقق يمكنك وضع ترجمة الرساله كما تريد
مثال
$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', 'تم حفظ بيانات الطالب بنجاح');
}