Dynamiczność formularza

Platforma Eximee umożliwia projektowanie formularzy dynamicznych – reagujących na dane wprowadzane przez użytkownika i automatycznie dostosowujących swój wygląd oraz działanie w trakcie wypełniania. Dynamiczność formularza opiera się na mechanizmach pozwalających definiować zależności i warunki między polami. (Szczegóły implementacyjne – np. składnia języka wyrażeń czy konfiguracja atrybutów – są opisane w dedykowanych rozdziałach Język wyrażeń oraz Nasłuchiwanie i czyszczenie, poniżej przedstawiono ogólne wprowadzenie.)

Mechanizmy dynamicznego formularza

Najważniejsze elementy odpowiadające za dynamiczne zachowanie formularza to:

  • Warunki widoczności, aktywności i wymagalności – definiowane za pomocą specjalnego języka wyrażeń (składnia oparta o JavaScript, rozszerzona m.in. o metody getValue() i isVisible() do odczytu stanu komponentów). Pozwalają one uzależnić, czy dany komponent jest wyświetlany, aktywny do edycji oraz wymagany, od wartości innych pól lub zmiennych. Uwaga: Warunki odwołujące się do innych pól wymagają poprawnego ustawienia nasłuchiwania tych pól, aby zmiany ich wartości powodowały ponowną ocenę warunku.

  • Nasłuchiwanie (ListeningOn) – atrybut wskazujący listę komponentów lub zmiennych, na które dany komponent „nasłuchuje”. Zmiana wartości nasłuchiwanych komponentów lub zmiennych wywoła ponowne przeliczenie zdefiniowanych warunków. Dzięki mechanizmowi nasłuchiwania formularz dynamicznie reaguje na zmiany – np. modyfikacja pola A automatycznie wpływa na pole B (powoduje ponowne przeliczenie wartości, zmianę widoczności/wymagalności, itp.).

  • Czyszczenie (ClearOn) – atrybut określający listę komponentów lub zmiennych, których zmiana wartości spowoduje automatyczne wyczyszczenie (reset) wartości danego pola. Mechanizm czyszczenia usuwa dane, które stały się nieaktualne lub niepożądane po zmianie innego pola – np. gdy użytkownik zmieni wybór w polu nadrzędnym, zależne pola z ustawionym ClearOn zostaną opróżnione (przywrócone do stanu pustego).

  • Reguły warunkowe – dodatkowe reguły logiki wykonywane tylko po spełnieniu określonych warunków, pozwalające realizować bardziej złożone scenariusze dynamiczne wykraczające poza pojedyncze pola. Mamy do dyspozycji szereg możliwości warunkowania działań aplikacji tak aby działała ona zgodnie z założeniami biznesowymi m.in.:

    • warunki wyświetlania kroków lub stron formularzy

    • warunki wywołania usług

    • warunki przejścia określoną ścieżką procesu (reguły biznesowe)

Zastosowania dynamicznych formularzy

Dynamiczne zachowanie pól formularza jest najczęściej wykorzystywane w sytuacjach, gdy interakcje użytkownika powinny wpływać na inne elementy formularza. Typowe scenariusze to m.in.:

  • Ukrywanie i pokazywanie elementów formularza – dynamiczne wyświetlanie lub ukrywanie określonych kroków, stron, sekcji czy pól na podstawie wcześniejszych wyborów użytkownika, danych uzyskanych z usług lub parametrów wywołania. Na przykład dodatkowe pytanie pojawia się dopiero po wybraniu przez użytkownika opcji „Tak”. Podobnie można dynamicznie wyłączać bądź włączać możliwość edycji pola (atrybut edytowalności) zależnie od spełnienia warunku.

  • Dynamiczne przeliczanie wartości – automatyczne obliczanie lub aktualizacja wartości jednego pola na podstawie wartości innych pól. Przykładowo suma w polu "Łączny dochód" może być wyliczana z wartości w polach "Dochód 1" i "Dochód 2". Mechanizm nasłuchiwania gwarantuje natychmiastowe wywołanie skonfigurowanych skryptów przy każdej zmianie danych wejściowych.

  • Resetowanie zależnych pól – czyszczenie (resetowanie) wartości pól zależnych po zmianie danych we wskazanym komponencie. Zapobiega to pozostawieniu w formularzu nieaktualnych lub sprzecznych danych. Przykład: jeśli pole "Kraj" zostanie zmienione, pola "Województwo" i "Miasto" mogą zostać automatycznie wyczyszczone, ponieważ ich poprzednie wartości były powiązane z wcześniej wybranym krajem.

  • Walidacja warunkowa – sprawdzanie poprawności lub wymagalności pól tylko w określonych sytuacjach. Na przykład pole "Numer konta" może być oznaczone jako wymagane (i zweryfikowane przez walidator numeru) tylko wtedy, gdy użytkownik wybierze opcję wypłaty przelewem. W przeciwnym razie to pole pozostaje opcjonalne. Tego typu warunki zapobiegają pojawianiu się błędów walidacji w sytuacjach, gdy określone pole nie jest w danym scenariuszu wymagane do uzupełnienia.

Last updated

Was this helpful?