Casi d'uso per le regole di validazione tramite funzioni
Rendere obbligatoria una descrizione dettagliata se vengono inseriti termini specifici nel campo
Zylker Tech produce assemblaggi elettronici e altri prodotti simili. I loro articoli prodotti vengono affidati a un fornitore di servizi terzo per il controllo qualità. I risultati della valutazione vengono condivisi con i responsabili di produzione attraverso il rapporto di valutazione. Spesso è accaduto che campi importanti nel modulo vengano lasciati vuoti o che la descrizione fornita sia poco chiara. Questa mancanza di informazioni genera comunicazioni continue che causano ritardi nell'elaborazione successiva e creano problemi quando si pianifica l'implementazione dei dettagli nei piani di miglioramento dei processi. Per prevenire tali problemi nei rapporti futuri, i responsabili di produzione decidono di inserire un controllo che richieda agli utenti di inserire una descrizione dettagliata ogni volta che inseriscono determinati termini nei campi.
Ecco la regola di validazione da configurare per ottenere il risultato desiderato:
Validare il campo per generare un errore se l'utente inserisce uno di questi valori - miscellaneous, not specific, recommended, critical, nondescript. Il messaggio di avviso sarà: You have used term(s) that need to be described more specifically. Please enter a comprehensive description.
Di seguito lo snippet della funzione:
/* The snippet below shows you how to get a list of fields, their values from a MAP object. The fields' values can be obtained from the same MAP object. */
entityMap = crmAPIRequest.toMap().get("record");
/* The example below demonstrates how a field's value (email) can be obtained from a MAP object. Here, entityMap - Map Object, Email - Field's API name
Sample entityMap= {'Email': 'xxx@xxx.com', 'Last_Name': 'xxx'}; */
field = entityMap.get("field_api_name");
response = Map();
/* ---------------------------------------------------------------------------------------------- */
/* Iniziare a scrivere il codice qui per eseguire la validazione necessaria dei campi */
/* ---------------------------------------------------------------------------------------------- */
/* Se il codice identifica un errore di validazione, impostare lo stato e il messaggio di avviso come mostrato di seguito: */
//if(condition) {
//response.put('status','error');
//response.put('message', '<your message(100 characters)>');
//} else {
/* Se non vengono trovati errori durante la validazione, impostare lo stato come mostrato di seguito: */
response.put('status','success');
//}
//}
/* ---------------------------------------------------------------------------------------------- */
return response.toString();
Funzione per la regola sopra indicata:
if(Description.contains("miscellaneous") || Description.contains("recommended") || Description.contains("critical") || Description.contains("not specific") ||
Description.contains("nondescript")) {
response.put('status','error');
response.put('message', 'You have used term(s) that need to be described more specifically. Please enter a more comprehensive description.');
} else {
Validare il formato del codice postale dell'indirizzo di spedizione per ogni paese
Verificare che il codice postale inserito nell'indirizzo di spedizione segua un formato specifico per i seguenti paesi:
*Aggiungere i codici seguenti allo snippet nel punto indicato.
1. Se il paese è il Bangladesh, il codice postale deve essere nel formato 9999.
condition: zipCode.matches("([0-9]{4})" ) == false
2. Se il paese è il Canada, il codice postale deve seguire questo formato A9A 9A9.
condition: zipCode.matches("([A-Z]{1}[0-9]{1}[A-Z]{1}[0-9]{1}[A-Z]{1}[0-9]{1})") == false
3. Se il paese è la Giamaica, il codice postale deve iniziare con lettere seguite da numeri, in questo formato AAAAA99.
condition: zipCode.matches("([A-Z]{5}[0-9]{2})") == false
4. Se il paese è la Lettonia, il codice postale deve contenere caratteri alfabetici, numeri e trattino in quest'ordine, AA-9999.
condition: zipCode.matches("([A-Z]{2}-[0-9]{4})") == false
Validare l'espressione Regex dei dati identificativi come l'IBAN
Alcuni dati seguono un formato e un'espressione specifici che cambiano in base al singolo paese. Dati come l'IBAN (International Bank Account Number) seguono una struttura particolare che include il codice paese seguito dal numero di conto. Inoltre, il numero di caratteri nel numero di conto varia da paese a paese.
*Aggiungere i codici seguenti allo snippet nel punto indicato.
1. Se il paese è l'Albania, il numero IBAN deve iniziare con il codice paese AL seguito dal numero di conto in 28 caratteri numerici.
condition: IBANNumber.matches("(^(AL)[0-9]{28})") == false
2. Se il paese è il Belgio, il codice paese deve essere BL seguito dal numero di conto in 16 caratteri numerici.
condition: IBANNumber.matches("(^(BL)[0-9]{16})") == false
3. Se il paese è la Germania, il codice paese deve essere DE seguito da 22 caratteri numerici per il numero di conto.
condition: IBANNumber.matches("(^(DE)[0-9]{22})") == false
Validare il formato in cui deve essere inserito il numero ISSN
L'ISSN (International Standard Serial Number) è un numero seriale univoco di otto cifre che identifica il codice della pubblicazione. Il numero è rappresentato in un formato specifico: due numeri di quattro cifre separati da un trattino (0378-5955). Durante la ricerca di un articolo tramite il codice ISSN, il numero deve essere inserito nel formato indicato. È quindi possibile validare il formato del campo ISSN tramite una funzione.
*Aggiungere il codice seguente allo snippet nel punto indicato.
condition: ISSNNumber.matches("([0-9]{4}-[0-9]{4})") == false
Validare che il numero di telefono abbia il formato internazionale
Nelle informazioni personali, i numeri di contatto inseriti dai clienti devono seguire il formato internazionale. Pertanto, validare il campo del numero di telefono specificando che il numero deve iniziare con + seguito dal prefisso internazionale e dal numero nazionale. È possibile inserire i prefissi internazionali nella funzione.
*Aggiungere i codici seguenti allo snippet nel punto indicato.
1. Il numero del Regno Unito deve essere in questo formato +44-20-999999999.
condition: phoneNumber.matches("(^(\+44-20)-[0-9]{9})") == false
2. Il numero degli Stati Uniti deve essere in questo formato +1-999-999999999.
condition: phoneNumber.matches("(^(\+1)-[0-9]{3}-[0-9]{9})") == false
3. Il numero dei Paesi Bassi deve essere così +31-99-999999999.
condition: phoneNumber.matches("(^(\+31)-[0-9]{2}-[0-9]{9})") == false
Impedire ai rappresentanti di inserire date passate come data di chiusura
Un rappresentante deve essere impedito dall'inserire una data passata nelle date di chiusura. Ad esempio, se il venditore modifica la data di chiusura della trattativa, deve essere impedito dall'inserire qualsiasi data passata. Deve aggiornare il campo solo con una data futura.
*Aggiungere il codice seguente allo snippet nel punto indicato.
condition: days360(today, closingDate.toDate()) > 0
Rendere obbligatoria una descrizione dettagliata se vengono inseriti t
Articoli Correlati
Zoho Premium Partner
Hai bisogno di aiuto con Zoho CRM?
I nostri esperti possono aiutarti con implementazione, personalizzazione e supporto. Oltre 200 progetti completati dal 2011.
Contattaci