Skip to content

12. المثال 09B – التحقق من صحة النموذج

التطبيق التالي هو نسخة معدلة من التطبيق السابق. في السابق، بالنسبة للإجراء A:

  • كان اسم ملف قواعد التحقق A-validation.xml
  • كان ملف رسائل أخطاء التحقق من الصحة يسمى A.properties

هنا، بالنسبة للإجراء A للنموذج M:

  • يُسمى ملف قواعد التحقق من الصحة M-validation.xml
  • ملف رسائل أخطاء التحقق من الصحة يسمى M.properties
  • لا يزال ملف A-validation.xml موجودًا، لكن محتوياته تعيد توجيه قواعد التحقق إلى ملف M-validation.xml.

هذه هي التغييرات الوحيدة التي سنجريها على الإصدار السابق.

مشروع NetBeans هو كما يلي:

  • في [1]، الإجراء [FormInt] وملف التحقق من صحة البيانات الخاص به
  • في [2]، نموذجه [FormIntModel]، وملف التحقق من صحة هذا النموذج، والرسائل المرتبطة بهذا النموذج.

كل شيء آخر مطابق للإصدار السابق.

ملف [FormInt-validation.xml] هو كما يلي:


<!--
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//
EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
-->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//
EN" "http://localhost:8084/exemple-09B/example/xwork-validator-1.0.2.dtd">
 
<validators>
  <field name="model" >
    <field-validator type="visitor">
      <param name="appendPrefix">false</param>
      <message/>
    </field-validator>
  </field>
</validators>

لن نحاول شرح محتويات هذا الملف. سنأخذه على محمل الجد، مع الأخذ في الاعتبار الغرض منه: تفويض قواعد التحقق من الصحة إلى النموذج. قد تتساءل عن الغرض من ذلك. في الواقع، قد يكون النموذج وقواعد التحقق من الصحة والرسائل الخاصة به موجودة بالفعل وتستخدمها إجراءات مختلفة. بدلاً من تكرار نفس قواعد التحقق من الصحة والرسائل لإجراءات مختلفة، من الأفضل تفويض هذه الوظائف إلى النموذج.

ملف [FormIntModel-validation.xml] مطابق لملف [FormInt-validation.xml] من الإصدار السابق.

ملف [FormIntModel.properties] مطابق لملف [FormInt.properties] من الإصدار السابق.

ندعو القراء إلى تجربة هذا الإصدار الجديد.