Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon كيف تدير حزمة spatie التحقق من صحة إدخال المستخدم وتعقيمه


كيف تدير حزمة spatie التحقق من صحة إدخال المستخدم وتعقيمه


تدير حزمة spatie التحقق من صحة إدخال المستخدم بشكل أساسي من خلال مجموعة من قواعد التحقق من صحة Laravel المخصصة والتكامل مع نظام التحقق من صحة Laravel ، مما يوفر نهجًا منظمًا وقابلًا للتمديد للتحقق من التحقق من البيانات قبل معالجته أو حفظه.

إدارة التحقق من الصحة في حزم spatie

قواعد التحقق المخصصة

تقدم Spatie مجموعة من قواعد التحقق المفيدة التي تمد قدرات التحقق من الصحة الأصلية ل Laravel. يمكن استخدام هذه القواعد في طلبات نموذج laravel أو مباشرة في منطق التحقق من صحة وحدة التحكم. تشمل الأمثلة:

- القاعدة المعتمدة: تتحقق من صحة ما إذا كان المستخدم المسجل في إجراء إجراء محدد على مثيل نموذج عن طريق التحقق من السياسات ، مثل مطابقة معرفات المستخدم [1].
- قاعدة العملة: تتحقق إذا كان إدخال معين هو رمز عملة صالح ، ويدعم معايير ISO 3166 [1].
- قاعدة التعداد: تتحقق من صحة أن قيمة الإدخال تنتمي إلى مجموعة محددة مسبقًا من قيم التعداد ، وهي مفيدة للبيانات المكتوبة بقوة [1].
- القاعدة النموذجية للسيارات: تحقق إذا كانت جميع القيم في صفيف موجودة كسمات في نموذج محدد ، مما يضمن السلامة المرجعية [1].
- القاعدة المحددة: التحقق من صحة السلاسل التي تحتوي على قيم محددة (على سبيل المثال ، رسائل بريد إلكتروني مفصولة بفاصلة) ، بما في ذلك خيارات لتعيين الحد الأدنى/الحد الأقصى عن العناصر ، والسماح بالتكرارات ، وتخصيص الفواصل [1].

تتكامل هذه القواعد بسلاسة مع نظام التحقق من صحة Laravel ، مما يسمح للمطورين بتحديدها في طريقة "القواعد ()" لطلبات النماذج أو صفيف التحقق من الصحة المضمّن.

التحقق من الصحة في حزمة بيانات spatie laravel

تعمل حزمة بيانات SPATIE LARAVEL على تحسين التحقق من صحة البيانات قبل إنشاء كائنات البيانات. يحدث التحقق تلقائيًا عندما:

- حقن كائن بيانات من طلب.
- استدعاء طريقة "من" على كائن بيانات مع بيانات الطلب.

يمكنك أيضًا تشغيل التحقق يدويًا من خلال طرق مثل "التحقق () أو" ValidateAndcreate () `. تدعم الحزمة تكوين استراتيجيات التحقق من الصحة ، مثل التحقق من صحة أو تعطيل التحقق من الصحة تمامًا ، مما يوفر تحكمًا دقيقًا في الحبيبات عند حدوث التحقق من الصحة [4].

التحقق من خطوتين

يستكشف Spatie نهج التحقق من خطوتين حيث:

- تطبق الخطوة الأولى القواعد الأساسية لضمان أن بنية البيانات سليمة وتمنع أخطاء PHP.
- الخطوة الثانية تنطبق قواعد التحقق من صحة أكثر تعقيدًا.

يمكن أن يحسن هذا النهج المتانة عن طريق التقاط الأخطاء في وقت مبكر وتوفير ملاحظات أوضح التحقق من الصحة [7].

تطهير

في حين تركز حزم Spatie بشكل أساسي على التحقق من الصحة ، فإن Laravel نفسها تتعامل مع التعقيم ضمنيًا من خلال التحقق من الصحة وربط البيانات. على سبيل المثال ، تطلب نموذج Laravel تعقيم المدخلات تلقائيًا عن طريق التحقق من صحة البيانات وتصفيةها قبل استخدامها في التطبيق. تكمل قواعد التحقق من صحة SPATIE هذا من خلال ضمان توافق البيانات مع قواعد أو تنسيقات أعمال محددة.

يمكن للمطورين تمديد التعقيم عن طريق إنشاء سمات التحقق من الصحة المخصصة أو عن طريق تعقيم المدخلات يدويًا قبل أو بعد التحقق من الصحة حسب الحاجة [3].

ملخص

- يوفر Spatie مجموعة غنية من قواعد التحقق من صحة Laravel لسيناريوهات التحقق من الصحة الشائعة والمعقدة ، مثل فحص التفويض ، والتحقق من صحة التعداد ، وفحوصات الوجود ، والتحقق من صحة المدخلات المحددة [1].
- تقوم حزمة بيانات Laravel من spatie بالتحقق من البيانات قبل إنشاء الكائن ، مع خيارات للتحقق اليدوي أو التلقائي واستراتيجيات التحقق من الصحة القابلة للتكوين [4].
- يتم تطوير عملية التحقق من خطوتين لتعزيز متانة التحقق [7].
- يتم التعامل مع التطهير عمومًا من خلال صحة التحقق من صحة Laravel ومناولة المدخلات ، حيث تركز أدوات SPATIE على صحة التحقق من الصحة [3].

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

الاستشهادات:
[1] https://github.com/spatie/laravel-validation-rules
[2] https://zapkit.dev/blog/ultimate-guide-to-validate-and-sanitize-http-requests-in-laravel
[3] https://spatie.be/docs/laravel-data/v4/validation/using-validation-attributes
[4] https://spatie.be/docs/laravel-data/v4/validation/introduction
[5] https://escape.tech/blog/laravel-sql injection-guide/
[6] https://www.youtube.com/watch؟v=sw1ddj5pcam
[7] https://github.com/spatie/laravel-data/discussions/470
[8] https://stackoverflow.com/questions/72186973/checking-for-user-user-with-spatie-package-fails-in-troutes-and-in-in-control
[9] https://spatie.be/docs/laravel-model-states/v2/request-validation/01-state-validation-rule