Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 6 Next »

← Powrót do listy dostępnych walidatorów

 
 Jeśli masz problem ze zrozumieniem jak działa walidator, sprawdź opisy: Walidator, Wykonanie warunkowe, Parametry komponentów
Opis

Walidator sprawdza istnienie wpisu w bazie danych (np. może sprawdzić, czy istnieje użytkownik o danym id). Następnie sprawdza, czy wpis ten posiada te same wartości, które znajdują się na formularzu (możemy sami zdecydować, które wartości ma porównać).

Walidator nie działa w trybie podglądu!

Sposób działania został przedstawiony na poniższym diagramie:



W oknie dodania/edycji istnieje możliwość pominięcia walidacji i przejścia dalej.

Aby walidator działał poprawnie, musimy przygotować odpowiednie zapytania w bazie danych, które będą wywoływane podczas sprawdzania istnienia/identyczności/dodawania/edycji danych. W tym celu należy dodać cztery zapytania do tabeli pm_dbqueries, pamiętając o dodaniu odpowiedniego identyfikatora.

Przykładowa konfiguracja

 

Parametry konfiguracyjne


Nazwa bazy danych ( typ : wartość tekstowa ) - Nazwa bazy danych skonfigurowana w dbExplorer w systemie PlusWorkflow

Klucz zapytania ( typ : wartość tekstowa ) - Klucz (przedrostek z kolumny name z tabeli pm_dbqueries) na postawie którego pobrane zostaną zapytania

Parametry zapytania ( typ : tablica wartości tekstowych ) - Wartości parametrów zapytania o istnienie

Typy parametrów ( typ : tablica wartości tekstowych ) - Typy parametrów zapytania o istnienie, jakie są zapisane w bazie(dla tekstowych - string, dla liczb - number)

Parametry zapytania ( typ : tablica wartości tekstowych ) - Wartości parametrów zapytania o identyczność

Typy parametrów ( typ : tablica wartości tekstowych ) - Typy parametrów zapytania o identyczność, jakie są zapisane w bazie(dla tekstowych - string, dla liczb - number)

Parametry zapytania ( typ : tablica wartości tekstowych ) - Wartości parametrów zapytania o dodanie

Typy parametrów ( typ : tablica wartości tekstowych ) - Typy parametrów zapytania o dodanie, jakie są zapisane w bazie(dla tekstowych - string, dla liczb - number)

Parametry zapytania ( typ : tablica wartości tekstowych ) - Wartości parametrów zapytania o aktualizację

Typy parametrów ( typ : tablica wartości tekstowych ) - Typy parametrów zapytania o aktualizację, jakie są zapisane w bazie(dla tekstowych - string, dla liczb - number)

Nazwa okna ( typ : wartość tekstowa ) - Tytuł okna, które pojawi się, gdy identyczny wiersz nie zostanie znaleziony

Pytanie o dodanie ( typ : wartość tekstowa ) - Komunikat do użytkownika, który pojawi się w oknie, gdy nie zostanie znaleziony wiersz o danym kluczu(możliwość dodania wiersza)

Pytanie o aktualizację ( typ : wartość tekstowa ) - Komunikat do użytkownika, który pojawi się w oknie, gdy zostanie znaleziony wiersz o danym kluczu ale o innych wartościach(możliwość aktualizacji wiersza)

Nazwa przycisku dodania ( typ : wartość tekstowa ) - Nazwa pod jaką ma występować przycisk służący do dodania nowego wiersza, a następnie akceptacji zadania

Nazwa przycisku aktualizacji ( typ : wartość tekstowa ) - Nazwa pod jaką ma występować przycisk służący do aktualizacji wiersza, a następnie akceptacji zadania

Nazwa przycisku przejścia dalej ( typ : wartość tekstowa ) - Nazwa pod jaką ma występować przycisk służący do przejścia dalej, bez modyfikacji wpisów w bazie danych

Nazwa przycisku cofnięcia ( typ : wartość tekstowa ) - Nazwa pod jaką ma występować przycisk służący do powrotu do formularzu zadania

 

Przykłady

Przykład: Załóżmy, że chcemy sprawdzić, czy istnieje użytkownik, którego dane są zapisane na formularzu. Przykładowe wpisy w pm_dbqueries mogłyby wyglądać tak:

namequery
USER_EXISTSELECT * FROM pm_cust_users WHERE userid = ?
USER_EQUALSELECT * FROM pm_cust_users WHERE userid = ? AND name = ? AND username = ?
USER_INSERTINSERT INTO pm_cust_users (userid, name, username) VALUES (?, ?, ?)
USER_UPDATEUPDATE pm_cust_users SET name = ? , username = ? WHERE userid = ?

W tym przykładzie nasz klucz zapytania to USER. Do klucza zapytania musimy dodać frazy: _EXIST, _EQUALS, _INSERT bądź _UPDATE, by określić ich przeznaczenie. Parametry oznaczone znakiem zapytania możemy dodać w konfiguracji walidatora(należy pamiętać o kolejności! w ostatnim zapytaniu identyfikator wiersza pojawia się na końcu!)


Mapa z przykładową konfiguracją

 

The license could not be verified: License Certificate has expired!

  • No labels