Przykład: sprawdzanie poprawności danych formatki w tradycyjnej usłudze personelu w komponencie web Process Designer

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

  1. W bibliotece kliknij opcję Dane > Obiekt biznesowy, a następnie utwórz obiekt biznesowy CreditCardApplication o następujących parametrach:
    • name(String)
    • salary(Decimal)
    • creditLimit(Decimal)
  2. Kliknij opcję Interfejs użytkownika > Tradycyjna usługa personelu i utwórz tradycyjną usługę personelu CreateCreditApplication. Jako etykietę formatki domyślnej podaj łańcuch Wniosek kredytowy.
  3. Na karcie Zmienne tradycyjnej usługi personelu dodaj zmienną application(CreditCardApplication) jako zmienną prywatną.
    Karta Variables (Zmienne) tradycyjnej usługi personelu CreateCreditApplication ze zmienną aplikacji typu CreditCardApplication.
  4. W widoku diagramu kliknij dwukrotnie formatkę Wniosek kredytowy, aby ją otworzyć.
  5. 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.
    Formatka Credit Application (Wniosek kredytowy) z trzema polami i przyciskiem
  6. 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 Sprawdź poprawność 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.
  7. Utwórz skrypt serwera służący do sprawdzania poprawności danych formatki:
    1. Na palecie w obszarze Działanie użyj narzędzia działania Skrypt serweraNarzędzie Skrypt serwera na palecie, aby dodać węzeł skryptu do diagramu usługi personelu, a następnie wybierz węzeł.
    2. 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.
    3. 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ł skryptu sprawdzania poprawności połączony z formatką Credit Application (Wniosek kredytowy)
      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.
  8. Kliknij opcję Zapisz lub Zakończ edytowanie.
  9. Uruchom tradycyjną usługę personelu, klikając opcję UruchomUruchom.
  10. W przeglądarce, w której jest wyświetlana formatka, przeprowadź test sprawdzania poprawności, wykonując następujące kroki:
    1. 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.
    2. 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.
    3. 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.
    4. 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.