البرمجة

تحقق وتنظيم الحقول في طلبات Laravel: دليل شامل

في Laravel، يمكنك تحقيق ذلك بسهولة باستخدام ميزات التحقق من الطلبات (Request Validation) المدمجة في الإطار. يمكنك تحديد القواعد التي يجب أن يتبعها الطلب باستخدام الطبقة المخصصة لـ FormRequest.

للرد على سؤالك حول كيفية التعامل مع حقول إضافية في الطلب، يمكنك استخدام الميزات المدمجة في Laravel لضمان أن الطلب يتبع القواعد المحددة بشكل صحيح. يمكنك القيام بذلك عن طريق تعريف قواعد الصحة في الدالة rules() بطريقة تشبه الكود التالي:

php
public function rules() { return [ 'id' => 'required|integer', 'company_name' => 'required|max:255', ]; }

في هذا المثال، يتم تحديد حقلي ‘id’ و ‘company_name’ كحقول مطلوبة، وتحديد القواعد الإضافية لكل منهما. إذا قدم الطلب حقول إضافية، ستتم معالجتها بواسطة التحقق التلقائي وستحدث الأخطاء إذا لم تتوافق البيانات مع القواعد المحددة.

لحذف الحقول الزائدة، يمكنك استخدام ميزة Laravel المعروفة باسم “Mass Assignment Protection” باستخدام الخاصية $fillable في النموذج الخاص بك. يمكنك تحديد الحقول التي يُسمح لها بالتعيين الجماعي (Mass Assignment) باستخدام الكود التالي:

php
protected $fillable = ['id', 'company_name'];

بهذه الطريقة، سيتم قبول فقط الحقول المحددة وسيتم تجاهل أي حقول إضافية تم تقديمها في الطلب.

بهذا الشكل، يمكنك تحقيق التحقق من الطلبات وتحديد الحقول المسموح بها، مما يضمن سلامة البيانات المرسلة إلى تطبيق Laravel الخاص بك.

المزيد من المعلومات

بالطبع، دعنا نستكمل المحادثة بمزيد من المعلومات حول كيفية تحقق الطلبات وتعديلها في Laravel.

إذا كنت ترغب في التعامل بشكل دقيق مع الحقول الزائدة وضمان عدم قبولها، يمكنك استخدام ميزة Laravel المعروفة بتحديد الحقول القابلة للتعديل (Mass Assignment) باستخدام الخاصية $fillable في النموذج الخاص بك. هذه الخاصية تمكنك من تحديد الحقول التي يُسمح لها بالتعيين الجماعي باستخدام الدالة create أو update في Eloquent.

على سبيل المثال، إذا كان لديك نموذج يُسمى MyModel، يمكنك تحديد الحقول التي يمكن تعديلها باستخدام الكود التالي:

php
class MyModel extends Model { protected $fillable = ['id', 'company_name']; }

باستخدام هذا، يمكنك ضمان أن Laravel سيقوم بتجاهل أي حقول إضافية تم تقديمها في الطلب.

إذا كنت ترغب في التعامل مع الحقول الزائدة بشكل مختلف، يمكنك استخدام ميزة التحقق اليدوي في الطلبات. يمكنك في الواقع تحديد قواعد تحقق إضافية باستخدام الدالة validator في الطلب. على سبيل المثال:

php
public function validator($factory) { $validator = $factory->make($this->input(), $this->container->call([$this, 'rules'])); $validator->after(function ($validator) { // التحقق من وجود حقول إضافية وإضافة رسالة خطأ إذا لزم الأمر $extraFields = array_diff(array_keys($this->input()), $this->rules()); if (!empty($extraFields)) { $validator->errors()->add('extra_fields', 'تم تقديم حقول إضافية غير مسموح بها.'); } }); return $validator; }

هذا الكود يضيف تحققًا إضافيًا للتأكد من عدم وجود حقول إضافية غير مسموح بها في الطلب.

بهذه الطرق، يمكنك تحقيق تحقق فعّال وتعديل الطلبات وفقًا لاحتياجات تطبيق Laravel الخاص بك.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر