You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Bir kaydın oluşturulmadan önce belirlenen kurallara uygun olup olmadığının kontrolü işlemidir. Bir alan için boş geçilemez tanımı yapılıp ilgili kaydın kaydedilmemesi sağlanabilir. Aynı zamanda ilgili alana girilen değerin belirli bir rakama göre kontrolü de yapılabilir.

İki çeşit validasyon vardır. Birincisi belirlenen validasyona göre kayıtların uygunluğunun kontrolüdür. 

Örnek: Firma kartında Unvan alanı boş bırakıldığında, aşağıdaki kontrol devreye girer.



İkincisi de tanımlı validasyona göre uyarı mekanizmasının devreye girip uyarı vermesidir. Uyarı, kullanıcının seçimine bırakılır. Uyarıları Yoksay seçeneği ile kaydetme işlemine devam edilir.




Validasyon Kuralları Tanımlama

İşlemler, Model Editor üzerinden yapılır. Soldaki ağaç menüsünden Validation> Rules'a sağ tıklanır ve istenen kurallar tanımlanır.



En çok kullanılan Validasyon Kuralları aşağıdaki gibidir:

Zorunlu Alan Kuralı Tanımlama  (Rule Required Field)

RuleRequiredField seçildiğinde, sağ tuş menüsünde aşağıdaki seçenekler bulunur.


InvertResult: Yapılacak validasyonu terse çevirir. Öndeğeri False seçeneğidir.

Result Type: Kayıt yapılıp yapılmayacağını kontrol eder.

Error: İşlemin kaydedilmesini önler ve ilk resimdeki gibi kırmızı bir bölümde neden kaydedilmediği yazılır.

Warning: Kaydedilir, Uyarıyı Yoksay butonu seçildiğinde, devam edilir.

Information: Kaydedilir, sadece belirlenen alanın yanında mavi-beyaz bir ünlem işareti çıkar.

SkipNullorEmptyValues: Alanın null veya boş değere sahip olmasının dikkate alınmamasını gösterir.

TargetContextIDs: Bu validasyon, işlemin kaydedilirken mi yoksa silinirken mi devreye gireceğini seçer.

TargetCriteria: Zorunlu alandır, burada belirlenen kriter olduğunda validasyon devreye girer. Bunun için önceliklle TargetType alanından hangi bölüm için uygulacağı seçilir.

TargetType: Validasyonunun uygulanacağı bölüm seçilir.

TargetPropertyName: Validasyonun uygulanacağı alanın adı tanımlanır.

Format: Bu alan öndeğerde belirli tanımlarla gelir. İstenirse bu alanlar kullanılmayıp farklı bir mesaj gösterimi sağlanır. Bu da customMessage Template'e yazılarak yapılabilir.

Id,Name: Aynı isimde olabilir ya da yeni isim verilebilir.  Boşluk, nokta gibi işaretler kullanılmamalıdır. Boşluk kullanacaksa, _ (alt tire) kullanılmalıdır.


Belirli Bir Kritere Göre Validasyon (RuleCriteria)

Belirlenen kritere göre validasyon yapılması sağlanır.

Örnek: Firma kartlarında şahıs şirketi seçimi ve firma rolü toptancı seçimi yapıldığında, uyarı verilmesinin sağlanması ile ilgili aşağıdaki kural yazılabilir. Burada dikkat edilmesi gereken ilk nokta; verilecek kriterin doğru çalışabilmesi için InvertResult değerinin true seçilmesidir. Sadece Rule Criteria'da bu şekilde tanımlama yapılmalıdır.



lk örnekte satırların açıklamaları mevcuttur. Bu validasyon tipinde farklı olan, Criteria bölümüdür. Kriter belirlemek için kırmızı ok ile gösterilen üç noktadan seçim yapılır. CustomMessageTemplate alanına da gösterilmesi istenilen mesaj yazılır.



Firma kartında şahıs şirketi seçilip firma rolü toptancı seçildiğinde aşağıdaki gibi uyarı verilir. Uyarıyı Yoksay mesajının nedeni, ResultType=Warning değerinin seçilmemiş olmasıdır. Eğer Error değeri seçilirse, kaydedilmesine izin verilmez.




Tekil (Unique) Kural Tanımlama (RuleUniqueValue)

Bir alan tanımında mükerrer kayıt oluşmaması için alanlar, tekil (unique) olarak tanımlanabilir. Sistem öndeğerinde birçok alan bu şekilde gelir.

Örnek: Firma kodu için unique değere sahiptir. Sistemde bulunan firma kodu tekrar eklenmek istendiğinde, bu kural devreye girer ve kaydetmeyi durdurur. Model Editor'de Validation> Rules alanında birçok kural mevcuttur. unique_FirmCodeUnique seçildiğinde, aşağıdaki seçenekler listelenir.




TargetPropertyName alanına , unique alanın tanımlaması yapılır. ResultType Error seçiliyse, kayıt işlemi engellenir. (Boş geçilemez alan örneğinde, ResultType açıklamaları mevcuttur.)

Örnek: Firma kartında, hem vergi dairesi hem de vergi numarası aynıysa kaydetme işlemi için Yapılmasın konrolü aşağıdaki gibi yapılır. Bu durumda birden fazla alanın aynı anda tek bir kuralda çalışması sağlanmalıdır. Bu durumda RuleCombinationPropertiesIsUnique kuralı tanımlanmalıdır.

Birden Fazla Alanın Tekil (Unique) Kontrolü (RuleCombinationPropertiesIsUnique)

Yukarıdaki örnekteki gibi vergi dairesi ile vergi numarası aynı olduğunda Kural Çalışsın şeklinde tanımlama yapılabilir.



Örnek Firma 1 için Vergi Dairesi: Kadıköy, Vergi No: 0123456789'dur.

Örnek Firma 2 için aynı bilgiler girildiğinde, kural doğru bir şekilde devreye girer.