Çoklu satır girişlerinde mükerrer kayıtların oluşmaması için, listedeki elemanların tekil olarak belirtilen bir alanına göre ikinci kez eklenmesi engellenebilir.
Aşağıda ürün tanımlarken ürün koduna göre aynı kod ile başka bir ürünün listeye eklenmemesi için uyarı nasıl verilir örneğini inceleyeceğiz.
Öncelikle listedeki tekil olan bir alan belirlenmelidir. (Kod, Id olabilir.)
Öncelikle kontrol edilmesi istenen veri alanı için aşağıdaki menüden doğrulama kuralı eklenir.
Açılan pencereden "yeni" seçeneğine tıklanır.
Uyarı mesajını yazıp validasyon grubu seçilir.
İlk olarak şu anda düzenleme yapılan data'nın editingRow değeri bir değişkene alınır. Listedeki template'lerden guid değeri bu değişkene eşit olan template'teki urun kodu (Urun), diğer templateler içerisinde aranarak (preceding-sibling::Template/Urun) sayı değeri alınır. Sayı değeri 0'dan büyük ise daha önce bu kod eklenmiş demektir.
Kod editöründe aşağıdaki gibi yazılır.
<Project Name=""> <SetVariable Name="$(editingRow)"> <Value Culture="" Target="None">eval::/*/Liste/Data/@editingRow</Value> </SetVariable> <Greater Equal="False"> <Count><![CDATA[/*/Liste/Data/Template[@guid='$(editingRow)' and (Urun= preceding-sibling::Template/Urun)]]]></Count> <Value Culture="" Target="Integer">0</Value> </Greater> </Project>
Eklenen doğrulama kuralının çalışması için workflow tarafında hangi işlemde çalışması gerektiğinin belirtilmesi çok önemlidir. Aksi halde doğrulama kuralı çalışmaz. Biz formu ilk doldururken "Gönder" seçildiğinde bu validasyonun çalışmasını ve bir sonraki adıma geçmeden uyarı vermesini istediğimiz için aşağıdaki işlem butonuna sağ tıklayarak özelliklerini açıyoruz.
Yukarıdaki pencereden doğrulama grubu, kuralın doğrulama grubu ile "aynı" olmalı ve "Doğrulama İstiyor" seçeneği tikli olması gerekmektedir.
Veri giriş ekranında Test Ürünü'nü listeye ekliyoruz.
Aynı ürünü listeye İkinci kez eklemek istediğimizde aşağıdaki gibi uyarı verecektir.