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 12 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

 

Podstawowe informacje

Kategoria: Baza danych

Poprzednie nazwy: Walidacja danych z formularza w bazie danych (do wersji 1.0.43)

Dostępna od wersji: 1.0.14

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.

Parametry konfiguracyjne
Nazwa parametruOd wersjiOpisTyp parametruWartość domyślnaRodzaj polaUwagi i ograniczenia
Nazwa bazy danych*1.0.14Login sprawdzanego użytkownika.Tekst Lista wartości 
Klucz zapytania*1.0.14Parametr 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.14Wartości parametrów zapytania o istnienieTablica wartości tekstowych Pole edytowalne 
Typy parametrów*1.0.14Typy parametrów zapytania o istnienie, jakie są zapisane w bazieTablica wartości tekstowych Lista wartości 
Parametry zapytania o identyczność*1.0.14Wartości parametrów zapytania o identycznośćTablica wartości tekstowych Pole edytowalne 
Typy parametrów*1.0.14Typy parametrów zapytania o identyczność, jakie są zapisane w bazieTablica wartości tekstowych Lista wartości 
Parametry zapytania o dodanie*1.0.14Wartości parametrów zapytania o dodanieTablica wartości tekstowych Pole edytowalne 
Typy parametrów*1.0.14Typy parametrów zapytania o dodanie, jakie są zapisane w bazieTablica wartości tekstowych Lista wartości 
Parametry zapytania o aktualizację*1.0.14Wartości parametrów zapytania o aktualizacjęTablica wartości tekstowych Pole edytowalne 
Typy parametrów*1.0.14Typy parametrów zapytania o aktualizację, jakie są zapisane w bazieTablica wartości tekstowych Lista wartości 
Nazwa okna*1.0.14Tytuł okna, które pojawi się, gdy identyczny wiersz nie zostanie znalezionyTekst Pole edytowalne 
Pytanie o dodanie*1.0.14Komunikat 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.14Komunikat 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.14Nazwa pod jaką ma występować przycisk służący do dodania nowego wiersza, a następnie akceptacji zadaniaTekstDodajPole edytowalne 
Nazwa przycisku aktualizacji*1.0.14Nazwa pod jaką ma występować przycisk służący do aktualizacji wiersza, a następnie akceptacji zadaniaTekstAktualizujPole edytowalne 
Nazwa przycisku przejścia dalej*1.0.14Nazwa pod jaką ma występować przycisk służący do przejścia dalej, bez modyfikacji wpisów w bazie danychTekstPrzejdź dalejPole edytowalne 
Nazwa przycisku cofnięcia*1.0.14Nazwa pod jaką ma występować przycisk służący do powrotu do formularzu zadaniaTekstWróć do formularzaPole edytowalne 
Przykładowa konfiguracja



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
USERS_EXISTSELECT * FROM pm_cust_users WHERE username = ?
USERS_EQUALSELECT * FROM pm_cust_users WHERE username = ? AND firstname = ? AND lastname = ? AND address = ?
USERS_INSERTINSERT INTO pm_cust_users (username, firstname, lastname, address) VALUES (?, ?, ?, ?)
USERS_UPDATEUPDATE 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:

Change log

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!

  • No labels