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.
- Creare l'oggetto di business
CreditCardApplicationcon i parametri seguenti:name(String)salary(Decimal)creditLimit(Decimal)
- Crea il servizio con interazione dell'utente Heritage
CreateCreditApplication. - Aggiungere
application(CreditCardApplication)come variabile privata.
- Nel diagramma, aggiungere la pagina Crea applicazione, quindi aprire la pagina.
- Dalla sezione Variabili della tavolozza, rilasciare i parametri
name,salaryecreditLimitnella pagina. Rietichettare il pulsante OK predefinito su Submit.
- Nel diagramma, connettere la pagina Applicazione di credito ai nodi iniziale e finale.
- 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
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. - Crea il servizio per convalidare i dati della pagina:
- Dalla libreria, creare un servizio di sistema generale denominato
CreditApplicationFormValidation. - 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.Aggiungivalidate(CoachValidation)come output del servizio. Il servizio deve avere un solo output ed è di tipoCoachValidation. 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.
- Aggiungere uno script del server al diagramma del servizio e collegare i nodi iniziale e finale allo script.
- Nell'implementazione dello script del server, aggiungere il seguente codice per creare l'oggetto di business
CoachValidation:
Il parametrotw.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 + "."); }tw.local.validateè l'oggetto di businessCoachValidationche 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.
- Dalla libreria, creare un servizio di sistema generale denominato
- Aggiungi il servizio
CreditApplicationFormValidational diagramma del servizio con interazione dell'utenteCreateCreditApplicationheritage. - Selezionare il servizio
CreditApplicationFormValidatione aprire le proprietà di associazione dati. Per fornire i dati al servizio di convalida, aggiungere la variabile privataapplicationcome mappa di input. Per associare l'output del servizio di convalida all'oggettoCoachValidation, aggiungere la seguente variabile come mappa di output:tw.system.coachValidationImportante: l'associazione di output alla variabile di sistema è obbligatoria perché la pagina utilizzi il servizio come servizio di convalida. Il parametrotw.system.coachValidationè la variabile di sistema che contiene le informazioni di convalida. - Connetti il nodo di convalida
della pagina Credit Application al servizio CreditApplicationFormValidation. - Aggiungere un nodo Rimani sulla pagina al diagramma.
- Connetti il servizio
CreditApplicationFormValidational 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. - Salvare le modifiche ed eseguire il servizio con interazione dell'utente Heritage facendo clic sul pulsante
. - Nel browser che visualizza la pagina, verificare la convalida effettuando le seguenti operazioni:
- 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.
- 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.
- 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.
- 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.
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.
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.