...
Tip | ||
---|---|---|
| ||
...
- sprawdzi czy podana w parametrze zmienna spełnia warunki PESELu, gdy warunek wykonania walidatora jest spełniony
- wyświetli wiadomość w przypadku, gdy zmienna nie jest PESELem.
Dodatkowo, stworzona zostanie funkcja isEmpty(), którą można wykorzystać jako warunek wywołania walidatora.
Przygotowanie walidatora
Pierwszym krokiem jest stworzenie definicji walidatora oraz jego metody walidującej. W ten sposób informujemy edytor procesów, że taki walidator jest dostępny i może zostać wykorzystany przy budowie formularza zadania. W tym celu należy stworzyć klasę z odpowiednim zestawem adnotacji oraz metodę walidującą:
...
W metodzie walidującej zdefiniowaliśmy parametry wejściowe.
@Param( value = "pesel_param" ) String pesel
- wartość dla zdefiniowanego parametru walidatora o idpesel_param
ValidationErrors errors
- Obiektobiekt, do którego można zapisać błędy walidatoraTranslator translator
- obiekt translatora wtyczki
Podczas wywoływania metody do wszystkich parametrów zostaną wstrzyknięte zdefiniowane parametry i obiekty pomocnicze. Wszystkie obiekty, jakie mogą być wykorzystane jako parametry wejściowe metody walidującej są opisane tutaj.
Tip |
---|
Wszystkie możliwe parametry które możemy wykorzystać w metodzie walidatora opisane są na stronie: Walidatory |
Metoda walidująca weryfikuje czy parametr pesel_param jest PESELemnumerem PESEL. Jeżeli nie jest, to dodaje tłumaczoną informacje o tym do obiektu ValidationErrors oraz oznacza, że chodzi o zmienną podaną w parametrze.
Przygotowanie funkcji warunkowej
Zdefiniujemy zatem jeszcze funkcję, którą wykorzystamy jako warunek wykonania walidacji. Ustawienie warunku odbywa się za pomocą narzędzia PlusWorkflowEditor.
Funkcje definiowane są w klasach oznaczonych adnotacją @Functions
. Nasza definicja wygląda następująco:
Code Block | ||
---|---|---|
| ||
@Functions
public class BasicFunctions
{
@Function
public boolean isEmpty( String value )
{
return value == null || value.trim().isEmpty();
}
} |
Konfiguracja wtyczki
Walidator został już zdefiniowany. Należy jeszcze "powiedzieć" systemowi, że wtyczka udostępnia walidator i funkcję oraz korzysta z tłumaczeń. Plik suncode-plugin.xml powinien wyglądać następująco:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <plugin key="${project.groupId}-${project.artifactId}" name="Validate Pesel Validator Tutorial"> <!-- UdostępnianieTranslations tłumaczeń --> <i18n key="i18n" /> <!-- UdostępnianieForm walidatorówvalidators --> <form-validators key="validators" /> <!-- Udostępnianie funkcji--> <functions key="functions" /> </plugin> |
Wykorzystanie walidatora w zadaniu
...
Po dodaniu walidatora pojawi się okno z jego definicją. Należy uzupełnić parametr walidatora oraz warunek wywołania.
W tym momencie dodaliśmy walidator do przycisku akceptującego zadanie, który będzie weryfikował czy zmienna Pesel jest PESELemnumerem PESEL. Walidacja będzie wywoływana tylko jeżeli zmienna Imię i Nazwisko nie będzie pusta.
Poniżej został przedstawiony wynik walidacji błędnego PESELunumeru PESEL.