Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Metoda walidująca weryfikuje czy parametr pesel_param jest PESELem. Jeżeli nie jest, to dodaje tłumaczoną informacje o tym do obiektu ValidationErrors oraz oznacza, że chodzi o zmienną podaną w parametrze.

...

Zdefiniujemy zatem jeszcze funkcję, którą wykorzystamy jako warunek wykonania akcjiwalidacji. Ustawienie warunku odbywa się za pomocą narzędzia PlusWorkflowEditor.

...

Code Block
languagejava
@Functions
public class BasicFunctions
{
    @Function
    public Booleanboolean lteempty( FloatString a, Float b value )
    {
        return a.floatValue()value <= b.floatValue()= null || value.trim().isEmpty();
    }
} 

Każda zarejestrowana funkcja powinna dostarczać implementację tej funkcji w języku JavaScript na potrzeby przeglądarki. Dla funkcji wykorzystywanych w akcjach formularza jest to wymagane. Implementacja jest następująca:

Code Block
languagejs
PW.Functions.register("lte", "boolean", ["float", "float"], function(value1, value2){
	return value1 <= value2;
});

Wykorzystanie tej funkcji jako warunek wykonania akcji oznaczać będzie, że akcji zostanie uruchomiona, gdy value1 będzie mniejsze lub równe od value2. W przeciwnym razie akcja zostanie zatrzymana.

Konfiguracja wtyczki

...

Konfiguracja wtyczki

Walidator został już zdefiniowany. Należy jeszcze "powiedzieć" systemowi, że wtyczka udostępnia akcje walidator i funkcje funkcję oraz korzysta z tłumaczeń. Plik suncode-plugin.xml powinien wyglądać następująco:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<plugin key="${project.groupId}-${project.artifactId}" name="HideValidate ActionPesel Tutorial">
	<!-- Udostępnianie tłumaczeń -->
	<i18n key="i18n"/>
	
	<!-- Udostępnianie akcjiwalidatorów --> 
	<form-actionsvalidators key="actionsvalidators" />
 
	<!-- Udostępnianie funkcji-->
	<functions key="functions" />

	<!-- Lokalizacja do skryptów z funkcjami-->
	<web-scripts key="formScripts" fragment="form" >
		<resource>/resources/functions/functions.js</resource>
	</web-scripts>
</plugin>
Info

Do wstrzyknięcia skryptu zawierającego implementacje funkcji wykorzystano moduł <webscripts> opisany w rozdziale Wstrzykiwanie skryptów

...

Wykorzystanie walidatora w zadaniu

Stworzona akcja Stworzony walidator będzie mogła mógł być wykorzystana wykorzystany w edytorze procesów po uruchomieniu wtyczki. Aby sprawdzić jej zadanie jego działanie należy stworzyć prosty proces, a następnie dodać naszą akcjęnasz walidator do przycisku akceptacji. Aby to zrobić należy wejść w formularz zadania następnie po lewej stronie rozwinąć Akcje i przeciągnąć naszą akcję na formularz., następnie wejść w edycję przycisku akceptacji i rozwinąć zakładkę Walidatory. Następnie przy pomocy przycisku należy dodać walidator.

Po upuszczeniu akcji na formularzu dodaniu walidatora pojawi się okno z jego definicją akcji. Należy uzupełnić parametr akcji walidatora oraz warunek wywołania.

W tym momencie dodaliśmy akcję walidator do zadaniaprzycisku akceptującego zadanie, która będzie ukrywać zmienne ZmiennoprzecinkowaData i Czas, jeżeli wartość zmiennej Całkowita będzie mniejsza bądź równa 0. W przeciwnym wypadku zmienne zostaną pokazane.Poniżej wartość zmiennej Calkowita wynosi -2, więc zmienne zostały ukrytektóry będzie weryfikował czy zmienna Pesel jest PESELem. Walidacja będzie wywoływana tylko jeżeli zmienna Imię i Nazwisko nie będzie pusta.

Poniżej został przedstawiony wynik walidacji błędnego PESELu.

Natomiast gdy zmienna Całkowita ma wartość dodatnią to zmienne zostaną z powrotem wyświetlone.

...