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/example-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] از نسخه قبلی یکسان است.
از خوانندگان دعوت میشود تا این نسخه جدید را آزمایش کنند.
