Kohana 3.2 التحقق من صحة ORM والتحقق من صحة النموذج

منذ العام الماضي ، عملت في مشروع صيانة في كوهان 3.0.7. بينما كنت أتطلع إلى الإصدار الأخير (3.2) ، صادفت التحقق من صحة ORM الذي لم أكن قد لاحظت عندما كنت أعمل مع Kohana 3.0.7. في مشروعي ، استخدمت نموذج التحقق من الصحة والتحقق من صحة جميع النماذج في النموذج. أثناء القراءة ، http://kohanaframework.org/3.2/guide/orm/examples/validation ، وجدت أن قاعدة التحقق من الصحة للحقل الإضافي "تأكيد كلمة المرور" تتم إضافتها في وحدة التحكم نفسها. لذلك ، أريد أن أعرف -

هل يمكننا نقل قواعد التحقق من ORM إلى نموذج الملفات بالكامل؟ إذا استطعنا كيف يمكن القيام بذلك؟

هل تعتني طريقة القيم بحقن sql؟

0

1 إجابة

لا يمكنك ولا ينبغي نقل التحقق من صحة النموذج إلى وحدة التحكم.
في المثال الذي قدمته استخدموا ما يسمى بـ "التحقق من الصحة الإضافية".
ألقِ نظرة على الحفظ method API - حيث يستغرق الأمر Validation <�اختياري> الوسيطة التي يتم استخدامها لاحقًا في check طريقة للتحقق من صحة المنطق الإضافي (مثل ، مثل مطابقة كلمات المرور).
السبب هو عدم وجود حقل في النموذج الخاص بك يسمى "password_matching" (يمكنك كتابة هذه القاعدة في القواعد وظيفة ؛)) ، لذلك تحتاج إلى استخدام التحقق الخارجي لمثل هذه الحالة .
مثال آخر على استخدام التحقق الخارجي هو تحميل ملف ، وبناءً على نتيجة التحميل ، إجراء عمليات على نموذج ORM الخاص بك.

نعم ، ORM هي آمنة لحقن SQL لأنها تستخدم Query Builder وهي آمنة أيضًا (باستثناء DB :: expr التي يجب استخدامها مع عناية إضافية).

1
وأضاف
مهلا ، شكرا على التوضيح. أعلم أننا لا ينبغي أن نقل التحقق من صحة النموذج إلى وحدة تحكم ، في الواقع ، كان نيتي لهذا السؤال ، إذا كان من الممكن للحفاظ على وحدة تحكم خالية من التحقق من صحة الخارجية كذلك. لكنك أوضحت ذلك. يمكنك إضافة كلمة لسؤال حقن SQL؟
وأضاف المؤلف KutePHP, مصدر
تحديث إجابتي ؛)
وأضاف المؤلف matino, مصدر