12. 09B Örneği – Model Doğrulaması
Aşağıdaki uygulama, bir önceki uygulamanın bir varyantıdır. Daha önce, A eylemi için:
- doğrulama kuralları dosyası A-validation.xml adını taşıyordu
- doğrulama hata mesajları dosyası A.properties adını taşıyordu
Burada, M modelinin A eylemi için:
- doğrulama kuralları dosyası M-validation.xml olarak adlandırılır
- doğrulama hata mesajları dosyası M.properties olarak adlandırılmıştır
- A-validation.xml dosyası hâlâ mevcut, ancak içeriği doğrulama kurallarını M-validation.xml dosyasına yönlendiriyor.
Önceki sürüme yapacağımız değişiklikler sadece bunlarla sınırlıdır.
NetBeans projesi şöyledir:
![]() |
- [1]'e, [FormInt] eylemi ve onun doğrulama dosyası
- [2]'e, şablonu [FormIntModel]'e, bu şablonun doğrulama dosyasına ve bu şablonla ilişkili mesajlara dönüştürülecektir.
Geri kalan her şey önceki sürümle aynıdır.
[FormInt-validation.xml] dosyası şu şekildedir:
<!--
<!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>
Bu dosyanın içeriğini açıklamaya çalışmayacağız. İşlevini akılda tutarak olduğu gibi kabul edeceğiz: doğrulama kurallarını modele aktarmak. Bunun ne işe yaradığını merak edebilirsiniz. Aslında model, doğrulama kuralları ve mesajları önceden mevcut olabilir ve farklı eylemler tarafından kullanılabilir. Farklı eylemler için aynı doğrulama kurallarını ve mesajları tekrarlamak yerine, bu işlevleri modele devretmek daha tercih edilebilir bir seçenektir.
[FormIntModel-validation.xml] dosyası, önceki sürümdeki [FormInt-validation.xml] dosyasıyla aynıdır.
[FormIntModel.properties] dosyası, önceki sürümdeki [FormInt.properties] dosyasıyla aynıdır.
Okuyucuların bu yeni sürümü denemeleri önerilir.
