Bir kaydın kaydedilmeden önce belirlediğimiz kurallara uygun olup olmamasına göre uyarma ve durdurma işlemidir.  Yani bir alan boş geçilemez ise kaydedilmesin ya da bir alanda 30 rakamından düşük yazılırsa kaydetme ya da uyar, devam et gibi seçenekleri bulunur. İki çeşit validasyon vardır.

Birincisi Kaydı, sizin belirlediğiniz validasyona uygun olmadığı sürece asla kaydetmez. Örneğin, firma kartında unvan’ ı boş bırakıp kaydetmeyi denediğinizde, aşağıdaki hatayı alınır.

İkincisi de sizi uyarıp  “uyarıları yok say” derseniz kaydetme işlemine devam eder. Validasyon kuralları genel olarak kaydetmeyi engellesin ya da engellemesin olarak belirlenir. 

Validasyon Genel Tanımı: 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ır ve ilgili kaydın kaydedilmemesi sağlanır. Aynı zamanda ilgili alana girilen değerin belirli bir rakama göre kontrolü de yapılması sağlanır. Oluşturulmuş bir kaydı silerken, kullanıcıya uyarı verme işlemi de Validasyon tanımı ile yapılır.

Validasyon Kuralları Tanımlama

Logo CRM uygulamasının kurulu olduğu klasör içerisinde, ModelEditor klasörü açılır ve ModelEditor.bat uygulaması çalıştırılır.

Soldaki ağaç menüsünden Validation> Rules'a sağ tıklanır ve istenen kural türü tanımlanır.

Bilgilendirme

Aşağıdaki örneklerde Logo CRM ürün kurulum yapıldıktan sonra, sistemde var olan Validasyon örnekleri gösterilmiştir.

Logo CRM üzerinde var olan bazı validasyonlar;

 1- Belirlenen Validasyona göre kayıtların uygunluğunun kontrolü

Firma kartında Unvan alanı boş bırakılarak kaydedilmek istenildiğinde, "Boş Olmamalıdır" şeklinde uyarı vermektedir. (Model Editör üzerinde "required_FirmTitleIsRequired" adıyla tanımlama yapılmıştır.)

Firma kodu alanı benzersiz (unique) değere sahiptir. Sistemde bulunan firma kodu tekrar eklenmek istendiğinde, kural devreye girer ve kaydetmeyi durdurur. (Model Editör üzerinde "unique_FirmCodeUnique" adıyla tanımlama yapılmıştır.)

 2- Tanımlı Validasyona göre, uyarı mekanizmasının devreye girip uyarı vermesi

Uyarı, kullanıcının seçimine bırakılır. "Uyarıları Yok say" seçeneği ile kaydetme işlemine devam edilir.

Kaydedilmiş bir Fırsat kaydının içerisinde, İlişkili Kayıtlar> Teklifler/Sözleşmeler ekranından Yeni Teklif oluşturulur. Fırsat kaydı silinmek istenildiğinde, tanımlanmış validasyondan dolayı bir uyarı vermektedir. Kullanıcı isterse, "Uyarıları yok say" seçerek işlemine devam edebilir. (Model Editör üzerinde "delete_OpportunityIncludesProposals" adıyla tanımlama yapılmıştır.)

Validasyon Çeşitleri

 1.Zorunlu Alan Kuralı Tanımlama (RuleRequiredField)

Örnek: Firma kayıt işleminde Vergi Dairesi girişi yapılmış ise, Vergi No alanının zorunlu alan yapılması.

  • Model Editör üzerinden Validasyon tanımlama işleminin detayları aşağıda yer almaktadır.

  • InvertResult: Yapılacak validasyonu terse çevirir. Ön değeri False seçeneğidir.
  • Result Type: Kayıt yapılıp yapılmayacağını kontrol eder. Seçenekler listesinde Error, Warning, Information yer almaktadır.
    • Error: İşlemin kaydedilmesini önler. Kaydedilmek istendiğinde, kırmızı bir bölümde neden kaydedilmediği yazılır.
    • Warning: Kaydedilir, Uyarıyı Yok Say 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: Oluşturulan validasyonun, işlemi kaydedilirken mi yoksa silinirken mi devreye gireceğini seçer.
  • TargetCriteria: Zorunlu alandır ve burada belirlenen kriter olduğunda validasyon devreye girer. Bunun için öncelikle TargetType alanından hangi bölüm için uygulanacağı seçilir.
  • TargetType: Validasyonun uygulanacağı bölüm seçilir.
  • TargetPropertyName: Validasyonun uygulanacağı alanın adı tanımlanır.
  • Format: Bu alan ön değerde belirli tanımlarla gelir. İstenirse bu alanlar kullanılmayıp farklı bir mesaj gösterimi sağlanır. Bu da CustomMessageTemplate alanına 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 kullanılmak isteniyorsa da kelimeler arasına "_ "(alt tire) kullanılmalıdır.
 2. Belirli Bir Kritere Göre Validasyon (RuleCriteria)

Örnek: Firma kartlarında Şahıs Şirketi seçimi ve Firma Rolü alanından Toptancı seçimi yapıldığında, uyarı verilmesinin sağlanması.



  • Model Editör üzerinden Validasyon tanımlama işleminin detayları aşağıda yer almaktadır.

  • Burada dikkat edilmesi gereken ilk nokta; verilecek kriterin doğru çalışabilmesi için InvertResult değerinin True seçilmesidir. Sadece RuleCriteria seçiminde bu şekilde tanımlama yapılmalıdır.
  • 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 resimdeki gibi uyarı verilir. Uyarıyı Yok Say mesajının nedeni, ResultType=Warning değerinin seçilmiş olmasıdır. Eğer Error değeri seçilirse, kaydedilmesine izin verilmez.


Bilgi

RuleCriteria içerisindeki IsNullOrEmpty parametresi altyapı çalışma şekli sebebiyle "Boş alan kontrolü" veya "IsEmpty" için çalışmamaktadır. Alternatif çözüm için kural RuleRequiredField ile eklenmelidir.

 3.Tekil (Unique) Kural Tanımlama (RuleUniqueValue)

Bir alanda mükerrer kayıt oluşmaması için alanları eşsiz(unique) tanımlayabilirsiniz. Sistem varsayılan birçok alan bu şekilde gelir. Örneğin Firma kodu için unique tanımlamaları  yapılı bir şekilde gelir. Sistemde bulunan firma kodunu tekrar eklemeye çalıştığınızda bu kural devreye girer ve kaydetmeyi durdurur.  Model Editor’ de ValidationRules alanına geldiğinizde, birçok kural görülür.

Örnek: Firma detay ekranında aynı Vergi No ile kayıt oluşturma işleminde uyarı vermesi.

  • Model Editör üzerinden Validasyon tanımlama işleminin detayları aşağıda yer almaktadır.

  • TargetPropertyName alanına, unique alanın tanımlaması yapılır.
  • ResultType alanında Error seçiliyse, kayıt işlemi engellenir.
 4.Birden Fazla Alanın Tekil (Unique) Kontrolü (RuleCombinationPropertiesIsUnique)

Örnek: Firma kartında hem Vergi Dairesi hem de Vergi Numarası aynıysa kaydetme işleminin engellenmesi.

  • Model Editör üzerinden Validasyon tanımlama işleminin detayları aşağıda yer almaktadır.

  • TargetProperties alanında birden fazla alan ekleyebilmek için, alan isimlerinin arasına ";" (noktalı virgül) koyuyoruz.
 5.Boolean Alana Bağlı Validasyon Oluşturma (RuleFromBoolProperty)

Örnek: Firma kaydedildiğinde, Aktif Ziyaret alanını seçilmesinin zorunlu olması.

  • Model Editör üzerinden Validasyon tanımlama işleminin detayları aşağıda yer almaktadır.

 6. İki Değer Arasında Validasyon Kuralı Tanımlama (RuleRange)

Örnek: Firma kaydedildiğinde, Aylık Ziyaret alanına belirlenen değer aralığında değer girilmesinin sağlanması.

  • Model Editör üzerinden Validasyon tanımlama işleminin detayları aşağıda yer almaktadır.

  • Bu tanımlamada dikkat edilmesi gereken MaximumValue ve MinimumValue alanlarına istenilen değer aralıkları bilgisinin girilmesidir.
 7. İstenilen Karakter Uzunluğu Belirleme (RuleRegularExpressions)

Bir alanda, sadece belirli bir karakter uzunluğunda ya da minimum, maximum karakter uzunlukları verilir. RegularExpression özelliği metin bir alana belirlediğiniz formatta yazmanızı sağlayan özelliktir. Örneğin mail adresleri ya da http ile başlayan web sitesi adreslerinin belirlenen formatta yazılması için bu kural kullanılır. Bu kural ile karakter sınırlaması da yapılır.

Örnek

Firma kartında vergi numarası 5-11 karakter sayısı  aralığında kural oluşturulması gerektiğinde,

Model Editor Validasyon Rules kısmında sağ tıklanır RuleRegularExpressions seçilip aşağıdaki değerleri girilir.

  • Pattern^.{5,11}$ yazılır. 5,11 yazılan bölümde alanın  min ve max. karakter  uzunlukları belirtilir.11 yerine hiçbir rakam yazmayıp ^.{5,}$ yazılırsa min. 5 karakter ve üstü demektir. ^.{5}$ yazıldığında sadece 5 karakter uzunluğunda demektir.
  • TargetCriteria: Belirli bir kriter olduğunda bu validasyon çalışır.
  • TargetPropertyName: Hangi alan da validasyon uygulanacağı belirlenir.
  • TargetType: Hangi modülde validasyon uygulanacak.
  • Custom Message Template: Validasyon mesajı belirlenir.

Bilgi

Validasyon uygulaması için aşağıdaki örnek paylaşımı inceleyebilirsiniz.