Mahmoud Alrashidi نشر 19 مارس 2021 أرسل تقرير نشر 19 مارس 2021 أحاول التحقق من مصفوفة POST في Laravel: $validator = Validator::make($request->all(), [ "names.*" => 'required|string', "description.*" => "required|string" ]); أرسل POST فارغًا وأحصل على خطأ. في التحقق . كيف نتحقق من صحة المصفوفة في Laravel؟ عندما أرسل النموذج مع إدخال input name="names[]" 1 اقتباس
1 سمير عبود نشر 19 مارس 2021 أرسل تقرير نشر 19 مارس 2021 يتم استخدام رمز النجمة (*) للتحقق من القيم في المصفوفة ، وليس المصفوفة نفسها. $validator = Validator::make($request->all(), [ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", "description" => "required|string" ]); في المثال أعلاه: "names" يجب أن تكون مصفوفة تحتوي على 3 عناصر على الأقل ، يجب أن تكون القيم في مصفوفة "names" عبارة عن سلاسل مميزة (فريدة) ، بطول 3 أحرف على الأقل. ملاحظة: منذ Laravel 5.5 يمكنك استدعاء التابع validate مباشرة على كائن Request مثل: $data = $request->validate([ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", "description" => "required|string" ]); 1 اقتباس
0 محمد أيت لعرايك نشر 20 مارس 2021 أرسل تقرير نشر 20 مارس 2021 (معدل) وأيضا يمكنك إستخدام قواعد التحقق من الصحة المخصصة Custom Validation Rules نفد الأمر php artisan make:rule ValidateArray في الملف المولد أكتب التالي: <?php namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class ValidateArray implements Rule { /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { return is_array($value); // نتحقق أن المتغير عبارة عن مصفوفة } /** * Get the validation error message. * * @return string */ public function message() { return 'The :attribute must be an array .'; // هنا تكتب رسالة للمستخدم } } بمجرد تحديد القاعدة ، يمكنك إرفاقها بمدقق عن طريق تمرير مثيل لكائن القاعدة مع قواعد التحقق الأخرى الخاصة بك: use App\Rules\ValidateArray; $request->validate([ 'name' => ['required', 'string', new ValidateArray()], ]); .و يمكنك أيضا إضافة العديد من الشروط في القاعدة كطول و نوعية مكونات المصفوفة تم التعديل في 20 مارس 2021 بواسطة محمد أيت لعرايك 1 اقتباس
0 بلال زيادة نشر 20 مارس 2021 أرسل تقرير نشر 20 مارس 2021 يمكنك عمل Loop على مصفوفة الإدخال و إضافة rules لكل إدخال مثل $input = Request::all (); $rules = []; foreach ($input['name'] as $key => $val) { $rules['name.'. $key] = 'required|distinct|min:3'; } $ rules ['description'] = 'required|string'; $ validator = Validator::make ($input, $rules); // Now check validation: if ($ validator->fails()) { } اقتباس
السؤال
Mahmoud Alrashidi
أحاول التحقق من مصفوفة POST في Laravel:
أرسل POST فارغًا وأحصل على خطأ. في التحقق .
كيف نتحقق من صحة المصفوفة في Laravel؟ عندما أرسل النموذج مع إدخال
input name="names[]"
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.