← Powrót do listy dostępnych walidatorów
Kategoria: Baza danych
Poprzednie nazwy: Walidacja danych z formularza w bazie danych (do wersji 1.0.43)
Dostępna od wersji: 1.0.14
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.
Nazwa parametru | Od wersji | Opis | Typ parametru | Wartość domyślna | Rodzaj pola | Uwagi i ograniczenia |
---|---|---|---|---|---|---|
Nazwa bazy danych* | 1.0.14 | Login sprawdzanego użytkownika. | Tekst | Lista wartości | ||
Klucz zapytania* | 1.0.14 | Parametr określa, czy wyszukiwany użytkownik musi znajdować się na liście aktywnych użytkowników. | Tekst | Pole edytowalne |
| |
Parametry zapytania o istnienie* | 1.0.14 | Wartości parametrów zapytania o istnienie | Tablica wartości tekstowych | Pole edytowalne | ||
Typy parametrów* | 1.0.14 | Typy parametrów zapytania o istnienie, jakie są zapisane w bazie | Tablica wartości tekstowych | Lista wartości | ||
Parametry zapytania o identyczność* | 1.0.14 | Wartości parametrów zapytania o identyczność | Tablica wartości tekstowych | Pole edytowalne | ||
Typy parametrów* | 1.0.14 | Typy parametrów zapytania o identyczność, jakie są zapisane w bazie | Tablica wartości tekstowych | Lista wartości | ||
Parametry zapytania o dodanie* | 1.0.14 | Wartości parametrów zapytania o dodanie | Tablica wartości tekstowych | Pole edytowalne | ||
Typy parametrów* | 1.0.14 | Typy parametrów zapytania o dodanie, jakie są zapisane w bazie | Tablica wartości tekstowych | Lista wartości | ||
Parametry zapytania o aktualizację* | 1.0.14 | Wartości parametrów zapytania o aktualizację | Tablica wartości tekstowych | Pole edytowalne | ||
Typy parametrów* | 1.0.14 | Typy parametrów zapytania o aktualizację, jakie są zapisane w bazie | Tablica wartości tekstowych | Lista wartości | ||
Nazwa okna* | 1.0.14 | Tytuł okna, które pojawi się, gdy identyczny wiersz nie zostanie znaleziony | Tekst | Pole edytowalne | ||
Pytanie o dodanie* | 1.0.14 | Komunikat do użytkownika, który pojawi się w oknie, gdy nie zostanie znaleziony wiersz o danym kluczu(możliwość dodania wiersza) | Tekst | Pole edytowalne | ||
Pytanie o aktualizację* | 1.0.14 | 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) | Tekst | Pole edytowalne | ||
Nazwa przycisku dodania* | 1.0.14 | Nazwa pod jaką ma występować przycisk służący do dodania nowego wiersza, a następnie akceptacji zadania | Tekst | Dodaj | Pole edytowalne | |
Nazwa przycisku aktualizacji* | 1.0.14 | Nazwa pod jaką ma występować przycisk służący do aktualizacji wiersza, a następnie akceptacji zadania | Tekst | Aktualizuj | Pole edytowalne | |
Nazwa przycisku przejścia dalej* | 1.0.14 | Nazwa pod jaką ma występować przycisk służący do przejścia dalej, bez modyfikacji wpisów w bazie danych | Tekst | Przejdź dalej | Pole edytowalne | |
Nazwa przycisku cofnięcia* | 1.0.14 | Nazwa pod jaką ma występować przycisk służący do powrotu do formularzu zadania | Tekst | Wróć do formularza | Pole edytowalne |
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 |
---|---|
USERS_EXIST | SELECT * FROM pm_cust_users WHERE username = ? |
USERS_EQUAL | SELECT * FROM pm_cust_users WHERE username = ? AND firstname = ? AND lastname = ? AND address = ? |
USERS_INSERT | INSERT INTO pm_cust_users (username, firstname, lastname, address) VALUES (?, ?, ?, ?) |
USERS_UPDATE | UPDATE pm_cust_users SET firstname = ? , lastname = ?, address = ? WHERE username = ? |
W tym przykładzie nasz klucz zapytania to USERS. 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!)
Konfiguracja dla tego przykładu mogłaby wyglądać tak:
1.0.14
Dodanie komponentu
1.0.36
Zmiana sekcji z "Ogólne" na "Baza danych"
1.0.43
Zmiana nazwy z "Walidacja danych z formularza w bazie danych" na "Weryfikacja danych z formularza w bazie danych"
1.0.57
Dodanie dynamicznego formularza
The license could not be verified: License Certificate has expired!