سؤال

أحاول أن أقرر ما هو نهج التحقق من الصحة لمشروع ASP.NET MVC جديد. (و WOW هناك الكثير من الخيارات!)

يستخدم المشروع nhibernate ، وبالتالي فإن أول شيء اعتبرته هو مدقق Nhibernate (بسبب التكامل الضيق مع nhibernate). ومع ذلك ، بقدر ما أستطيع أن أرى أنه لا يوجد سوى فوائد لهذا التكامل الضيق:

1) ستتضمن مخططات DB التي تم إنشاؤها بواسطة NHibernate تفاصيل التحقق من الصحة (على سبيل المثال ، سيتم تعيين أطوال العمود على القيمة القصوى المسموح بها في التحقق من الصحة). (هذا ليس مهمًا حقًا بالنسبة لي ، لأنني أنشأت مخططات يدويًا.)

2) سوف يلقي Nhibernate استثناء إذا حاولت حفظ البيانات التي لا تفي بمواصفات التحقق من الصحة. (يبدو هذا زائدًا إلى حد ما بالنسبة لي ، حيث من المفترض أن يتم التحقق من صحة البيانات بالفعل من خلال أي آلية تختارها قبل الادخار على أي حال)

إذا كان هناك المزيد من الفوائد لمقحة nhibernate ، فيرجى إخبارنا!

تضم المكتبات الأخرى التي قرأتها قليلاً عن:

  • MS DataAntations
  • مصادقة القلعة
  • شيء آخر؟

لقد كنت أفكر أيضًا في استخدام XVAL لتوفير التحقق من صحة جانب العميل من نفس مجموعة القواعد. ومع ذلك ، أسمع أن ASP.NET MVC V2 ستشمل شيئًا مشابهًا لـ XVAL (التكامل مع jQuery) خارج الصندوق؟ هل ستجعل هذه الوظائف الجديدة المشمولة بعضًا من الآخرين زائدة عن الحاجة؟

لذلك ، أنا أسأل بشكل أساسي عن مشورة الناس بشأن الاتجاه الذي يجب أن يأخذوه هنا. لا أرغب في تنفيذ مخطط معين ، فقط لأضطر إلى تمزيقه عندما يصبح آخر التقنية المهيمنة.

ما عملت بالنسبة لك؟ ما هو الخيار الذي تعتقد أنه يحتوي على الحافة؟

شكرًا!

هل كانت مفيدة؟

المحلول

لقد كنت استخدم فلينتفاييد جنبا إلى جنب مع التحقق من صحة jQuery المكوّن الإضافي وما زالوا لا يستطيعون العثور على موقف لا يمكنهم التعامل معه.

نصائح أخرى

انا يعجبني xval.

يمكنك تنفيذ التحقق من صحة العميل والخادم بسهولة. كما يوجد دعم للتحقق من صحة العمود (الخاصية) على الكيانات التي ترغب في استخدامها.

DataAntations التي تنفذها فصول الأصدقاء و التحقق من صحة عميل jQuery

تأكد من أنك تستخدم MVC معاينة 2

قد تكون مهتمًا بهذا نهج مندوب. كنت لأنني لم أحب فكرة XVAL (الحل الذي أذهب إليه حاليًا) وحقيقة أنه لا يبدو أنه يلبي حالات التحقق من الصحة المعقدة التي عبرت خصائص متعددة من الهياكل الفئة نفسها أو حتى مختلفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top