← Powrót do listy dostępnych walidatorów
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ć).
Mogą wystąpić trzy możliwości:
- wpis nie istnieje, a użytkownik może dodać nowy wpis w bazie, wtedy pojawia się okno dodania nowego wpisu
- wpis istnieje, ale z innymi danymi - wtedy użytkownik może edytować dane - pojawia się okno akceptacji zmian
- wpis istnieje, z identycznymi danymi - wtedy walidator przechodzi dalej
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ł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:
name | query |
---|
USER_EXIST | SELECT * FROM pm_cust_users WHERE userid = ? |
USER_EQUAL | SELECT * FROM pm_cust_users WHERE userid = ? AND name = ? AND username = ? |
USER_INSERT | INSERT INTO pm_cust_users (userid, name, username) VALUES (?, ?, ?) |
USER_UPDATE | UPDATE 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!)
Część pierwsza:

Część druga:

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
Testy komponentów - walidatory.zip
The license could not be verified: License Certificate has expired!