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.
──────────────────────────────
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 password check seçeneği ile kullanıcının bilgilerini doğrulamadan listedeki verilere erişemediği bir form oluşturuyoruz.
Formda kullanıcı adı ve şifrenin girileceği metin kutuları, kullanıcı bilgilerini doğrulayacak bir buton ve bir liste bulunmaktadır.
Kullanıcı adının girileceği metin kutusunun veritabanındaki alan adı UserCode olmalıdır.
Kullanıcı şifresinin girileceği metin kutusunun veritabanınıdaki alan adı Userpassword olmalıdır.
Butona Validation ve Update Value aksiyonlarını ekleyeceğiz.
İlk ekleyeceğimiz ve ilk çalışacak olan aksiyon Validation aksiyonu.
SQL Query alanına aşağıdaki sorguyu yazıyoruz.
SELECT '$PUserCode$' , '$PUserpassword$'
Warning message alanına kullanıcı bilgileri yanlış yazıldığında gelmesi istenen uyarı yazılabilir.
User password check seçeneğini aktif ediyoruz.
İkinci ekleyeceğimiz aksiyon Update Value aksiyonu.
Value Area alanından forma eklediğimiz liste aracını seçiyoruz.
Eklediğimiz liste aracına tıklayıp SQL Query alanına listede gösterilmesi istenilen sorguyu yazıyoruz.
Örnekte XPODA_CLIENT_USERS tablosunda ilk 6 kaydın kullanıcı adı ve kullanıcı maillerini listeleyecek sorgumuz mevcut.
SELECT TOP 6 UserFullName,UserEmail FROM XPODA_CLIENT_USERS
Client ekranında, kullanıcı bilgilerini hatalı girdiğimizde hata mesajına yazdığımız uyarıyı iletip listedeki verileri göstermeyecektir.
Kullanıcı bilgilerini doğru girdiğimizde listedeki verilerin geldiğini görebiliriz.
──────────────────────────────
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 AS
ÇalışmaKoşulu, 'Hata oluştu' AS HataMesajı