Esempio: convalida dei dati di pagina in un servizio con interazione dell'utente heritage nel desktop Process Designer (obsoleto)

Questo esempio mostra come convalidare i dati della pagina in un servizio con interazione dell'utente heritage utilizzando un servizio di sistema generale di convalida sul desktop Process Designer.

L'esempio contiene una pagina Applicazione di credito che raccoglie le informazioni per un'applicazione della carta di credito. Per semplificare l'esempio, la pagina ha solo un campo Nome , un campo Stipendio , un campo Limite credito e un pulsante Inoltra . I campi Nome e Stipendio devono contenere valori e il valore massimo Limite di credito è il doppio del valore del campo Stipendio .

L'esempio utilizza un servizio di sistema generale per convalidare i dati della pagina. Ad eccezione dei servizi Ajax e dei servizi umani, è possibile utilizzare qualsiasi tipo di servizio e non si è limitati a come il servizio esegue la convalida. Tuttavia, il servizio deve creare un oggetto di business CoachValidation per contenere le informazioni di convalida che restituisce alla pagina come output. Questo esempio utilizza l'API addCoachValidationError per creare l'oggetto di business. Per semplicità, il servizio nell'esempio utilizza uno script per convalidare i dati.

Per informazioni su come convalidare una pagina in un servizio con interazione dell'utente heritage in Process Designer, consultare Esempio: convalida dei dati Coach in un servizio con interazione dell'utente heritage nel Web Process Designer. Per ulteriori informazioni sulla convalida di una pagina in un servizio con interazione dell'utente lato client, consultare Convalida dei dati del coach senza uscire da un coach.

  1. Creare l'oggetto di business CreditCardApplication con i parametri seguenti:
    • name(String)
    • salary(Decimal)
    • creditLimit(Decimal)
  2. Crea il servizio con interazione dell'utente Heritage CreateCreditApplication .
  3. Aggiungere application(CreditCardApplication) come variabile privata.
    La scheda Variabili del servizio umano del patrimonio CreateCreditApplication con la variabile di applicazione del tipo CreditCardApplication.
  4. Nel diagramma, aggiungere la pagina Crea applicazione, quindi aprire la pagina.
  5. Dalla sezione Variabili della tavolozza, rilasciare i parametri name, salarye creditLimit nella pagina. Rietichettare il pulsante OK predefinito su Submit.
    Pagina Applicazione di credito con tre campi e un pulsante
  6. Nel diagramma, connettere la pagina Applicazione di credito ai nodi iniziale e finale.
  7. Selezionare la connessione tra la pagina Applicazione di credito e il nodo finale. Impostare la convalida dell'attivazione su Before. La connessione ha ora un segno di spunta all'avvio. La pagina ha un'icona convalidare per indicare che ora è possibile collegare la pagina al servizio di convalida. Questa modifica indica che quando l'utente fa clic sul pulsante Inoltra , il flusso passa prima al servizio di convalida per eseguire la convalida dei dati. Se i dati sono validi, il flusso passa al nodo finale. Se si lascia Convalida di attivazione al suo valore predefinito di Never, la convalida dei dati non si verifica e il flusso va direttamente al nodo finale.
  8. Crea il servizio per convalidare i dati della pagina:
    1. Dalla libreria, creare un servizio di sistema generale denominato CreditApplicationFormValidation.
    2. Nella pagina Variabili del servizio, aggiungi application(CreditCardApplication) come input del servizio.
      Importante: il nome e il tipo dell'input del servizio devono corrispondere al nome e al tipo della variabile di pagina che contiene i dati che si desidera convalidare.
      Aggiungi validate(CoachValidation) come output del servizio. Il servizio deve avere un solo output ed è di tipo CoachValidation . La presenza di questo output indica che il servizio è un servizio di convalida. In questo caso, l'esempio utilizza l'input per fornire i dati convalidati dal servizio.
      La scheda Variabili del servizio CreditApplicationFormValidation con la variabile di output validate del tipo CoachValidation e la variabile di input dell'applicazione del tipo CreditCardApplication.
    3. Aggiungere uno script del server al diagramma del servizio e collegare i nodi iniziale e finale allo script.
    4. Nell'implementazione dello script del server, aggiungere il seguente codice per creare l'oggetto di business CoachValidation :
      tw.local.validate = new tw.object.CoachValidation();
      
      if (tw.local.application.name == ""){
          tw.system.addCoachValidationError(tw.local.validate, "tw.local.application.name",
          "The name cannot be empty.");
      }
      if ( tw.local.application.salary <= 0){
          tw.system.addCoachValidationError(tw.local.validate, "tw.local.application.salary",
          "The salary must be above 0.");
      }
      if (tw.local.application.creditLimit > 2 * tw.local.application.salary){
          tw.system.addCoachValidationError(tw.local.validate, "tw.local.application.creditLimit",
          "The credit limit cannot be more than double the salary. " + "The maximum credit limit is $" + 
          2 * tw.local.application.salary + ".");
      }
      Il parametro tw.local.validate è l'oggetto di business CoachValidation che contiene le informazioni di convalida. La prima stringa contiene il percorso completo della variabile all'elemento dati con i dati problematici. La seconda stringa è il messaggio per l'utente. Il messaggio dovrebbe identificare cosa non va con i dati o indicare all'utente come risolvere il problema.
      Importante:
      • Una pagina può utilizzare un solo servizio di convalida o script del server per convalidarne i dati. Tuttavia, più di una pagina può utilizzare lo stesso servizio di convalida o script.
      • Se l'elemento dati in fase di convalida non è collegato a una vista, non è possibile visualizzare un errore di convalida se si verifica un errore.
      • Se una vista in fase di convalida contiene rich text, il servizio di convalida deve rimuovere qualsiasi formattazione prima di convalidare il contenuto.
  9. Aggiungi il servizio CreditApplicationFormValidation al diagramma del servizio con interazione dell'utente CreateCreditApplication heritage.
  10. Selezionare il servizio CreditApplicationFormValidation e aprire le proprietà di associazione dati. Per fornire i dati al servizio di convalida, aggiungere la variabile privata application come mappa di input. Per associare l'output del servizio di convalida all'oggetto CoachValidation , aggiungere la seguente variabile come mappa di output:
    tw.system.coachValidation
    Importante: l'associazione di output alla variabile di sistema è obbligatoria perché la pagina utilizzi il servizio come servizio di convalida. Il parametro tw.system.coachValidation è la variabile di sistema che contiene le informazioni di convalida.
  11. Connetti il nodo di convalida "" della pagina Credit Application al servizio CreditApplicationFormValidation .
  12. Aggiungere un nodo Rimani sulla pagina al diagramma.
  13. Connetti il servizio CreditApplicationFormValidation al nodo Stay On Page. Questa costruzione riesegue il loop del flusso alla pagina se i dati nella pagina non sono validi. Il sistema restituisce le informazioni di errore alla pagina e gli utenti vedono un indicatore accanto alla vista con i dati problematici. Se il servizio di convalida fornisce messaggi di errore, gli utenti visualizzano il messaggio appropriato quando si passa con il mouse su un indicatore. Se i dati sono validi, il sistema elabora l'evento di limite per passare al passo successivo.
  14. Salvare le modifiche ed eseguire il servizio con interazione dell'utente Heritage facendo clic sul pulsante Esegui servizio .
  15. Nel browser che visualizza la pagina, verificare la convalida effettuando le seguenti operazioni:
    1. Lasciare vuoto il campo Nome , immettere 1 nel campo Stipendio e nel campo Limite di credito . Fare clic su Submit. Il browser visualizza un messaggio che indica che il campo Nome non può essere vuoto.
    2. Immettere un nome nel campo Nome e sostituire 1 nel campo Salario con un 0. Fare clic su Submit. Il browser visualizza un messaggio che indica che lo stipendio deve essere maggiore di 0.
    3. Sostituire lo 0 nel campo Salario con un 1. Sostituire 1 nel campo Limite di credito con un 3. Fare clic su Submit. Il browser visualizza un messaggio che indica che il limite di credito non può essere più del doppio dello stipendio.
    4. Sostituire il 3 nel campo Limite di credito con un 2. Fare clic su Submit. Il servizio umano ora termina perché tutti e tre i valori sono ora validi.
Limitazione:

Prestare attenzione al seguente comportamento quando si esegue il debug di una pagina e si passa attraverso ogni attività nel flusso mentre il servizio di pagina è in esecuzione: se la convalida dei dati di pagina è richiesta in una fase, il percorso dell'evento di convalida del limite esegue il loop e torna indietro per aprire una nuova pagina. Poiché la risposta dell'evento di limite di convalida non può tornare alla pagina di origine durante il debug, non viene visualizzato un errore visivo durante il debug. È possibile passare attraverso una pagina e visualizzare l'errore di convalida nella pagina di debug, ma il flusso ritorna sempre a una nuova pagina.

Dopo aver eseguito il debug del percorso di convalida e aver esaminato la pagina delle informazioni di debug, incluse le informazioni sull'errore tw.system.coachValidation , selezionare una delle seguenti opzioni:
  • Eseguire per continuare.
  • Eseguire al punto di interruzione successivo definito nel passo successivo in un regolare flusso di eventi di limite. Questa opzione passa al passo successivo nel regolare flusso di eventi limite.