W tym przykładzie pokazano sposób sprawdzania poprawności danych formatki w tradycyjnej usłudze personelu za pomocą skryptu sprawdzania poprawności w komponencie web Process Designer. Sprawdzanie
poprawności za pomocą skryptu jest prostszą i typową implementacją sprawdzania poprawności danych formatki w komponencie web Process Designer.
O tym zadaniu
Ten przykład zawiera formatkę Wniosek kredytowy, która służy do zbierania
informacji na potrzeby wniosku o wydanie karty kredytowej. W celu uproszczenia
przykładu zdecydowano, że formatka będzie zawierać tylko pole
Nazwa, pole Wynagrodzenie, pole Limit
kredytowy i przycisk Wyślij. Pola Nazwa i Wynagrodzenie muszą
zawierać wartości, a maksymalna wartość w polu Limit
kredytowy może być dwa razy większa niż wartość w polu
Wynagrodzenie.
Do sprawdzania poprawności danych formatki w tym przykładzie wykorzystano skrypt serwera. Używa on obiektu
biznesowego CreditCardApplication zawierającego informacje o sprawdzaniu
poprawności, które są zwracane do formatki jako dane wyjściowe. W tym przykładzie do zbudowania obiektu biznesowego używana jest funkcja API addCoachValidationError.
Więcej informacji na temat sprawdzania poprawności formatki w tradycyjnej
usłudze personelu w komponencie pulpitu Process Designer zawiera sekcja Przykład: sprawdzanie poprawności danych formatki w tradycyjnej usłudze personelu w komponencie pulpitu Process Designer (nieaktualne). Więcej
informacji na temat sprawdzania poprawności formatki w usłudze personelu po stronie klienta zawiera sekcja Sprawdzanie poprawności danych formatki bez wychodzenia z formatki.
Procedura
- W bibliotece kliknij opcję ,
a następnie utwórz obiekt biznesowy CreditCardApplication o następujących parametrach:
- name(String)
- salary(Decimal)
- creditLimit(Decimal)
- Kliknij opcję
i utwórz tradycyjną usługę personelu CreateCreditApplication.
Jako etykietę
formatki domyślnej podaj łańcuch Wniosek kredytowy.
- Na karcie Zmienne tradycyjnej usługi personelu dodaj
zmienną application(CreditCardApplication) jako zmienną
prywatną.
- W widoku diagramu kliknij dwukrotnie formatkę Wniosek kredytowy, aby ją otworzyć.
- Przeciągnij parametry name, salary i
creditLimit z sekcji Zmienne palety i
upuść je na formatce. Zmień etykietę przycisku domyślnego OK na wartość
Wyślij.
- Wybierz połączenie między formatką Wniosek kredytowy i węzłem końcowym. Ustaw opcję
Uruchom sprawdzanie poprawności na wartość Przed. Połączenie ma teraz zieloną kropkę na początku, co oznacza, że sprawdzanie poprawności jest włączone dla przycisku Wyślij. Zdarzenie graniczne
jest automatycznie dołączane do formatki, co oznacza, że można połączyć tę formatkę ze skryptem sprawdzania poprawności.
Konstrukcja operacji sprawdzania poprawności gwarantuje, że w czasie
wykonywania, po kliknięciu przycisku Wyślij przez
użytkownika, przepływ najpierw prowadzi do skryptu sprawdzania poprawności w celu sprawdzenia poprawności danych formatki. Jeśli dane są poprawne, przepływ prowadzi do węzła końcowego. Jeśli
w przypadku opcji Uruchom sprawdzanie poprawności
pozostanie ustawiona wartość domyślna Nigdy, wówczas nie
jest sprawdzana poprawność danych, a przepływ będzie prowadzić bezpośrednio do
węzła końcowego.
- Utwórz skrypt serwera służący do sprawdzania poprawności danych formatki:
- Na palecie w obszarze Działanie użyj narzędzia działania Skrypt serwera
, aby dodać węzeł skryptu do diagramu usługi personelu, a następnie wybierz węzeł.
- W polu właściwości Skrypt węzła dodaj poniższy kod JavaScript na potrzeby sprawdzania poprawności.
if (tw.local.application.name == ""){
tw.system.addCoachValidationError(tw.system.coachValidation, "tw.local.application.name",
"Nazwa nie może być pusta.");
}
if ( tw.local.application.salary <= 0){
tw.system.addCoachValidationError(tw.system.coachValidation, "tw.local.application.salary",
"Wynagrodzenie musi być większe od 0.");
}
if (tw.local.application.creditLimit > 2 * tw.local.application.salary){
tw.system.addCoachValidationError(tw.system.coachValidation, "tw.local.application.creditLimit",
"Limit kredytowy nie może przekraczać dwukrotnej wartości wynagrodzenia. " + "Maksymalna wartość limitu kredytowego to " +
2 * tw.local.application.salary + ".");
}
Parametr tw.system.coachValidation jest obiektem biznesowym CoachValidation, który zawiera informacje o sprawdzaniu poprawności. Pierwszy łańcuch zawiera pełną ścieżkę zmiennej do elementu danych, który jest przyczyną problemu. Drugi łańcuch jest komunikatem dla użytkownika. Komunikat powinien wskazywać błąd występujący w danych lub informować użytkownika o sposobie usunięcia problemu.
Ważne: - Do sprawdzania poprawności danych formatki można używać tylko jednego skryptu sprawdzania poprawności. Możliwe jest jednak użycie tego samego skryptu sprawdzania poprawności w więcej niż
jednej formatce.
- Jeśli element danych, którego poprawność jest sprawdzana, nie jest
powiązany z widokiem formatki, w przypadku wystąpienia błędu nie ma miejsca, w którym można go wyświetlić.
- Jeśli widok formatki, którego poprawność jest sprawdzana, zawiera tekst
formatowany, usługa sprawdzania poprawności musi usunąć całe formatowanie przed
sprawdzeniem poprawności treści.
- Połącz węzeł skryptu na diagramie CreateCreditApplication (tak jak to pokazano na obrazku).
Dodaj do diagramu węzeł „Pozostań na stronie” i połącz węzeł skryptu z tym
węzłem. Węzeł „Pozostań na stronie” powoduje zapętlanie przepływu z powrotem do formatki, jeśli dane w formatce nie są poprawne.
System przekazuje informacje o błędzie z powrotem
do formatki, a użytkownicy widzą indykator obok widoku formatki, której dane
są przyczyną problemu. Jeśli usługa sprawdzania poprawności udostępnia komunikaty o błędzie, użytkownicy będą widzieć odpowiedni komunikat po umieszczeniu kursora myszy nad kontrolką. Jeśli dane są poprawne, system przetwarza zdarzenie graniczne, aby przejść do kolejnego kroku.
- Kliknij opcję
Zapisz lub
Zakończ
edytowanie.
- Uruchom tradycyjną usługę personelu, klikając opcję Uruchom
.
- W przeglądarce, w której jest wyświetlana formatka, przeprowadź test
sprawdzania poprawności, wykonując następujące kroki:
- Pozostaw puste pole Nazwa i wpisz wartość
1 w polu Wynagrodzenie i w polu
Limit kredytowy. Kliknij przycisk Wyślij. W przeglądarce zostanie wyświetlony
komunikat informujący o tym, że pole Nazwa nie może być puste.
- W polu Nazwa wpisz nazwę, a w polu Wynagrodzenie zastąp wartość
1 wartością 0.
Kliknij przycisk Wyślij. W przeglądarce zostanie wyświetlony komunikat
informujący o tym, że wynagrodzenie musi być liczbą większą od 0.
- W polu Wynagrodzenie zastąp wartość 0 wartością 1. W polu
Limit kredytowy zastąp wartość 1 wartością 3. Kliknij przycisk Wyślij. W przeglądarce zostanie wyświetlony komunikat informujący o tym, że limit kredytowy nie może przekraczać dwukrotnej wartości wynagrodzenia.
- W polu Limit kredytowy zastąp wartość 3 wartością 2. Kliknij przycisk Wyślij. Usługa personelu zakończy działanie, ponieważ wszystkie trzy wartości są
poprawne.