Bu aksiyon , belirli koşullar sağlanmazsa bir sonraki aksiyona geçilmesini engellemek için veya kayıt koşullarını belirlememiz için kullanılır.
Validation aksiyonunun özellikleri
Description(Açıklama): Aksiyonun bir açıklaması yazılır.
Bu açıklama daha sonraları uygulama geliştiricinin hangi aksiyonun hangi amaç ile kullanıldığını gösteren referans alanıdır. Burada yazılan değer aksiyonlar menüsünde şu alana karşılık gelmektedir.
Heading(Başlık): Form aksiyon olarak eklendiğinde aksiyon listesindeki adı belirtir.
Tasarlanan validation aksiyonu farklı aksiyonlar içerisinde tetiklenmek istendiğinde seçim alanında gözükecek metni temsil eder.
SQL Query(SQL Sorgusu): Sorgu sonucu 0 ise tüm işlemler durdurulur ve uyarı mesajı verilir. Sonuç 1 ise işlem devam eder.
Warning Message(Uyarı Mesajı): Koşul sağlanmadığı durumda verilecek mesaj bilgisi yazılır.
User Password Check (Kullanıcı Şifre Kontrolü): Aksiyonun çalışması için kullanıcı adı ve şifre kontrolü yapılmasını sağlar. Örnek için tıklayınız.
Run Condition(Çalıştırma Koşulu): Bu alana girilen sorgudaki değer '0' ise ilgili işlem çalışmayacaktır.
Request Confitmation(Onay İste): Aksiyonu çalıştırmadan önce onay isteyip istemediğinizi seçin. Onay İste aktif ise Onay Mesajı özelliği açılır ve onay istenirken görüntülenecek mesaj yazılır.
Confirmation Message(Onay Mesajı): Onay için açılan pop-up penceresinde yazacak olan mesaj içeriği bu alana yazılır.
|
Xpoda'da aksiyonların sıralamaları önemlidir. Validation aksiyonu devreye girdiğinde kendinden sonraki aksiyonu engeller. Bu sebeple Validation aksiyonundan önce çalışmasını istediğiniz aksiyonu, aksiyon sıralamasında Validation aksiyonunun önüne koymanız gerekmektedir. |
──────────────────────────────
Kullanılan Örnek
Kullanıcıların telefon numaralarını girebilmeleri için formda bir metin kutusu var. Bu form sayfasındaki değerler kaydedilmeden önce Telefon numarasının uzunluğu kontrol edilmek isteniyor .
Operation alanından Validation seçimi yapılarak sorgu alanına bir sorgu yazılır. 0 veya 1 sonucunu döndüren bu sorgu sonucu “0” dönerse olayı durdur anlamına gelmektedir. Burada form kaydedilmez. “1” sonucu bu olay kontrolden geçmiştir ve kayıt işlemi gerçekleşir anlamı taşımaktadır.
Bu örnek kullanımda telefon numarası 10 haneli girilmek istendiği için sorgusu buna göre oluşturulur.
Telefon numarasının girileceği alana 2 karakter girildiğinde ekrana yansıyacak olan hata aşağıdaki gibidir.
Hata verilmekle birlikte herhangi bir kayıt işlemi gerçekleştirilemez.
──────────────────────────────
User Check Kullanımı
Form ekranına üç temel eleman ekleyelim: drop down box, textbox ve button. Drop down box elemanını, XPODA_CLIENT_USERS tablosundaki kullanıcıları listelemek için kullanalım. Bu elemanın “Selection compulsory” özelliğini aktif hale getirelim, böylece kullanıcı mutlaka bir seçim yapar.
SQL sorgusunu şu şekilde yazalım:
SELECT
XPODA_CLIENT_USERS.UserID,
XPODA_CLIENT_USERS.UserFullName
FROM
dbo.XPODA_CLIENT_USERS WITH (NOLOCK)
Textbox elemanını, kullanıcının şifresini girmesi için ekleyelim. Mask alanını “Password” olarak ayarlarsak girilen karakterler yıldızlı şekilde görünür.
Button elemanını, kullanıcı bilgilerini kontrol etmek için kullanalım. Bu elemana iki aksiyon ekleyelim: validation ve show message.
Validation aksiyonunda “user password check” özelliğini aktif hale getirelim. SQL Query alanına aşağıdaki sorguyu yazalım :
SELECT '$PUser$' , '$PUserpassword$'
İlk kolon UserID içeren alanı, ikinci kolon password içeren alanı temsil eder. Warning message kısmına şu uyarıyı ekleyelim:
“User information is incorrect. Please check and try again.”
Validation başarılı olursa show message aksiyonu devreye girsin ve kullanıcıya “User information is correct.” mesajını gösterelim.
Client ekranına geçip menüye bu formu ekleyelim. Kullanıcı drop down box elemanından bir kullanıcı seçsin, textbox elemanına şifresini girsin ve butona tıklayarak kontrolü başlatsın.
Yanlış şifre girildiğinde validation aksiyonu başarısız olur, warning message ekranda görünür.
Şifre alanı yıldızlı değilse, girilen şifre açık şekilde görünür.
Doğru şifre girildiğinde validation aksiyonu başarılı olur, show message aksiyonu devreye girer ve ekranda “User information is correct.” mesajı görünür.
Şifre alanı yıldızlı değilse, şifre yine açık şekilde görünür.
──────────────────────────────
Kullanılan Örnek 3
Validation içerisindeki sorguda 2. dönen veri hata mesajını içerdiğinde dinamik olarak ekranda hata mesajı gösterilebilir. Bu şekilde doğrudan SQL'den hata mesajı belirlenip kullanılmış olacak.
Çalışacak olan aksiyon On Value Change>Validation aksiyonu.
SQL Query alanına yazılan örnek sorgu;
SELECT CASE WHEN '$PActiveUser$' = 1 THEN 1 ELSE 0 END,
'Hata oluştu' WHERE CASE WHEN '$PActiveUser$' = 1 THEN 1 ELSE 0 END=0
UNION ALL
SELECT 1 , ''