Walidacje proste (wbudowane)

Walidacje proste to zestaw podstawowych sprawdzeń dostępnych bezpośrednio w Eximee Designer. Ich konfiguracja odbywa się poprzez ustawienie odpowiednich właściwości komponentu w panelu Jakość danych. Poniżej wymieniono najważniejsze wbudowane sposoby walidacji:

  • Wymagalność pola – określa, czy pole musi zostać obowiązkowo uzupełnione przez użytkownika. Ustawiana jest za pomocą właściwości Warunek wymagalności (requiredCondition) w sekcji Jakość danych danego komponentu. Jeśli chcemy, aby pole było zawsze wymagane, jako warunek podajemy wartość logiczną true. Możemy też wprowadzić bardziej złożony warunek zależny od innych pól – np. pole tekstowe staje się wymagane dopiero, gdy użytkownik zaznaczy określony checkbox. Warunki definiuje się w edytorze warunków i mogą one odwoływać się do wartości innych komponentów lub zmiennych sesyjnych. Przykład: Dla pola Email można ustalić requiredCondition na getValue("GesCheckbox1") == "true", co oznacza, że adres e-mail będzie wymagany tylko jeśli zaznaczono wcześniej checkbox zgody. W takiej sytuacji należy dodatkowo upewnić się, że pole Email nasłuchuje na zmianę wartości tego checkboxa – służy do tego właściwość „Nasłuchiwanie” w panelu interakcji. Dzięki nasłuchiwaniu, gdy użytkownik zaznaczy lub odznaczy checkbox, formularz od razu sprawdzi ponownie warunek wymagalności dla pola Email. Jeśli warunek wymagalności nie jest spełniony (czyli pole jest wymagane, ale puste), użytkownik nie będzie mógł przejść do kolejnego kroku, a pod polem pojawi się komunikat błędu informujący, że pole jest wymagane.

Ilustracja 1. Przykład warunku wymagalności pola uzależnionego od wartości innego komponentu (tutaj checkboxa)
  • Minimalna/Maksymalna liczba znaków – określa dopuszczalną długość tekstu w polu. Dla komponentu Obszar tekstu (TextArea) dostępne są właściwości minLength (minimalna liczba znaków) oraz maxLines (maksymalna liczba wierszy tekstu). Dla Pola tekstowego (TextField) można ustawić Minimalną liczbę znaków (minLength) oraz Maksymalną liczbę znaków (maxLength), co definiuje maksymalną długość wpisywanego tekstu. Przykładowo, aby wymusić wpisanie co najmniej 50 znaków opisu w polu komentarza, ustawiamy minLength = 50 – jeśli użytkownik wpisze mniej, zobaczy komunikat o konieczności dłuższej wypowiedzi.

  • Maska (wyrażenie regularne) – pozwala zdefiniować wzorzec, jaki musi spełniać wpisywana wartość. Używa się jej np. do walidacji formatów takich jak kod pocztowy, numer telefonu, NIP itp. Konfiguracja polega na wpisaniu wyrażenia regularnego w polu Maska (sekcja Jakość danych komponentu), a następnie podaniu treści komunikatu błędu w polu Komunikat błędu dopasowania do maski. Jeżeli użytkownik wprowadzi wartość niepasującą do zadanego regexu, pod polem wyświetli się zdefiniowany komunikat, a formularz nie pozwoli przejść dalej dopóki wartość nie zostanie poprawiona. Przykład: Dla pola Kod pocztowy możemy ustawić maskę \d{2}-\d{3} oraz komunikat "Niepoprawny format kodu pocztowego". Wpisanie ciągu znaków niespełniającego tego wzorca (np. z literami lub złym układem cyfr) spowoduje wyświetlenie błędu.

Wyrażenie regularne
Znaczenie
Przykładowe wartości

\d{2}-\d{3}

Kod pocztowy

61-897

\d{11}

PESEL

75010125915

(\d{3}[- ]\d{3}[- ]\d{2}[- ]\d{2})|(\d{3}[- ]\d{2}[- ]\d{2}[- ]\d{3})|(\d{10})

NIP

782-226-19-60 lub 782-22-61-960 lub 7822261960

[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]+[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\ \-\']*

Pole zaczyna się od litery, dalej tylko litery, spacja, myślnik, apostrof. Przykładowe wykorzystanie w polu imię lub nazwisko.

Janina Nowak-Kowalska

[0-9\(\+]+[0-9\ \(\)\+\-]*

Pole zaczyna się od cyfry, otwarcia nawiasu lub plusa, dalej tylko cyfry, nawiasy, spacje, plus, myślniki. Przykładowe wykorzystanie w polu z numerem telefonu (rozwiązanie alternatywne wobec przykładowej maski z visibleMask Prezentacja maski).

+48 (12) 31 23 123 lub (48) 123-123-123

[0-9A-Za-z]*

Możliwość wprowadzenia tylko cyfr i liter

abc123

123abc

[0-9]{6}[\*]{1,6}[0-9]{4}

Maskowany numer karty - pole należy uzupełnić podając 6 pierwszych cyfr oraz 4 ostatnie cyfry numeru karty, rozdzielone znakami " * " (maksymalnie sześć znaków specjalnych: " * ").

123456**7890

  • Prezentacja maski (visibleMask) – nie mylić z powyższą maską regex. Prezentacja maski służy do zdefiniowania formatu, w jakim podczas wpisywania mają się układać znaki w polu tekstowym. Typowym przykładem jest automatyczne dodawanie myślników lub spacji w kodzie pocztowym, NIP czy numerze karty kredytowej w trakcie wpisywania. Właściwość Prezentacja maski określamy także w sekcji Jakość danych. Używa się tu specjalnej składni (np. cyfry, litery, znaki specjalne) by określić format wyświetlania. Przykład: Dla numeru NIP chcemy format 999-999-99-99 – odpowiednie wyrażenie prezentacji maski spowoduje, że użytkownik wpisuje ciąg ciągły cyfr, a na ekranie pojawiają się one w podziale 3-3-2-2 wraz z automatycznie wstawianymi myślnikami. Prezentacja maski dotyczy wyłącznie wyglądu wpisywanych danych dla wygody użytkownika – nie weryfikuje poprawności samej wartości (od tego jest maska regex). Wśród elementów definicji maski występują następujące znaki:

    • S - reprezentuje dowolny znak będący literą (A-Z,a-z),

    • 9 - reprezentuje dowolny znak będący liczbą (0-9),

    • A - reprezentuje dowolny znak alfanumeryczny (A-Z,a-z,0-9),

    • ? - elementy maski umieszczone za "?" są opcjonalne.

Definicja maski
Znaczenie
Prezentacja maski
Przykładowe wartości

99-999

Kod pocztowy

__-___

61-897

99999999999

PESEL

___________

75010125915

999-999-99-99

NIP

___-___-__-__

782-22-61-960

+99 99 99 99 999? w999

Numer telefonu z opcjonalnym numerem wewnętrznym

+__ __ __ __ ___ w___

+48 61 41 51 000 lub +48 61 41 51 000 w001

Walidacja po każdym znaku

W sekcji Jakość danych znajduje się opcja Walidacja po każdym znaku (validationOnEverySign) - pozwala na wywołanie walidacji (tylko wymagalność pola oraz maska) na komponencie po każdym wprowadzonym znaku. Wartość domyślna komponentu "false".

Wnioski demo: demoRegex, demoPrezentacjaMaski, demoWalidatory

Last updated

Was this helpful?