Cazuri de utilizare pentru regulile de validare folosind funcții
Fă descrierea detaliată obligatorie dacă se introduc anumiți termeni în câmp
Zylker Tech fabrică ansambluri electronice și alte produse similare. Articolele fabricate sunt externalizate pentru control de calitate către un furnizor de servicii terț. Rezultatele evaluărilor sunt comunicate managerilor de producție prin raportul de evaluare și analiză. De multe ori s-a întâmplat ca câmpuri importante din formular să fie lăsate necompletate sau descrierea furnizată să fie neclară. Această lipsă de informații duce la comunicări repetate care cauzează întârzieri în procesarea ulterioară și ridică probleme atunci când se planifică implementarea detaliilor în planurile de îmbunătățire a proceselor. Pentru a preveni astfel de probleme în rapoartele viitoare, managerii de producție decid să introducă o verificare care să solicite utilizatorilor să introducă o descriere detaliată ori de câte ori introduc anumiți termeni în câmpuri.
Iată regula de validare care trebuie configurată pentru rezultatul dorit:
Validează câmpul pentru a genera o eroare dacă utilizatorul introduce oricare dintre aceste valori - miscellaneous, not specific, recommended, critical, nondescript. Mesajul de alertă va fi: You have used term(s) that need to be described more specifically. Please enter a comprehensive description.
Mai jos este fragmentul de cod al funcției:
/* Fragmentul de mai jos îți arată cum să obții o listă de câmpuri și valorile lor dintr-un obiect MAP. Valorile câmpurilor pot fi obținute din același obiect MAP. */
entityMap = crmAPIRequest.toMap().get("record");
/* Exemplul de mai jos demonstrează cum poate fi obținută valoarea unui câmp (email) dintr-un obiect MAP. Aici, entityMap - Obiect Map, Email - Numele API al câmpului
Sample entityMap= {'Email': 'xxx@xxx.com', 'Last_Name': 'xxx'}; */
field = entityMap.get("field_api_name");
response = Map();
/* ---------------------------------------------------------------------------------------------- */
/* Începe să scrii codul tău aici pentru a efectua validarea necesară a câmpurilor */
/* ---------------------------------------------------------------------------------------------- */
/* Dacă codul identifică o eroare de validare, setează statusul și mesajul de alertă după cum se arată mai jos: */
//if(condition) {
//response.put('status','error');
//response.put('message', '<your message(100 characters)>');
//} else {
/* Dacă nu sunt găsite erori în timpul validării, setează statusul după cum se arată mai jos: */
response.put('status','success');
//}
//}
/* ---------------------------------------------------------------------------------------------- */
return response.toString();
Funcția pentru regula de mai sus:
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 {
Validează formatul codului poștal pentru corespondență pentru fiecare țară
Validează că codul poștal introdus în adresa de corespondență respectă un anumit format pentru următoarele țări:
*Adaugă codurile de mai jos în fragment acolo unde este indicat.
1. Dacă țara este Bangladesh, codul poștal trebuie să fie în formatul 9999.
condition: zipCode.matches("([0-9]{4})" ) == false
2. Dacă țara este Canada, codul poștal trebuie să respecte formatul 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. Dacă țara este Jamaica, codul poștal trebuie să înceapă cu litere urmate de cifre, în formatul AAAAA99.
condition: zipCode.matches("([A-Z]{5}[0-9]{2})") == false
4. Dacă țara este Letonia, codul poștal trebuie să aibă caractere alfabetice, cifre și cratimă în această ordine, AA-9999.
condition: zipCode.matches("([A-Z]{2}-[0-9]{4})") == false
Validează expresia Regex a datelor de identificare precum IBAN
Unele date respectă un format și o expresie specifice care variază în funcție de fiecare țară. Date precum IBAN (International Bank Account Number) urmează o structură particulară care include codul de țară urmat de numărul de cont. Mai mult decât atât, numărul de caractere din numărul de cont variază de la o țară la alta.
*Adaugă codurile de mai jos în fragment acolo unde este indicat.
1. Dacă țara este Albania, numărul IBAN trebuie să înceapă cu codul de țară AL urmat de numărul de cont în 28 de caractere numerice.
condition: IBANNumber.matches("(^(AL)[0-9]{28})") == false
2. Dacă țara este Belgia, codul de țară trebuie să fie BL urmat de numărul de cont în 16 caractere numerice.
condition: IBANNumber.matches("(^(BL)[0-9]{16})") == false
3. Dacă țara este Germania, codul de țară trebuie să fie DE urmat de 22 de caractere numerice pentru numărul de cont.
condition: IBANNumber.matches("(^(DE)[0-9]{22})") == false
Validează formatul în care trebuie introdus numărul ISSN
ISSN (International Standard Serial Number) este un număr de serie unic, de opt cifre, care identifică codul publicației. Numărul este reprezentat într-un model specific, de exemplu: două numere de patru cifre separate printr-o cratimă (0378-5955). La căutarea unui articol folosind codul ISSN, numărul trebuie introdus în formatul dat. Astfel, poți valida formatul câmpului ISSN folosind o funcție.
*Adaugă codul de mai jos în fragment acolo unde este indicat.
condition: ISSNNumber.matches("([0-9]{4}-[0-9]{4})") == false
Validează că numărul de telefon are format internațional
În informațiile personale, numerele de contact introduse de clienți trebuie să respecte formatul internațional. Validează că câmpul numărului de telefon respectă condiția că numărul trebuie să înceapă cu + urmat de codul de țară și numărul național. Poți introduce codurile de țară în funcție.
*Adaugă codurile de mai jos în fragment acolo unde este indicat.
1. Numărul din Marea Britanie trebuie să fie în formatul +44-20-999999999.
condition: phoneNumber.matches("(^(\+44-20)-[0-9]{9})") == false
2. Numărul din SUA trebuie să fie în formatul +1-999-999999999.
condition: phoneNumber.matches("(^(\+1)-[0-9]{3}-[0-9]{9})") == false
3. Numărul din Țările de Jos trebuie să fie în formatul +31-99-999999999.
condition: phoneNumber.matches("(^(\+31)-[0-9]{2}-[0-9]{9})") == false
Restricționează agenții de la introducerea unor date trecute ca dată de închidere
Un agent trebuie restricționat de la introducerea unei date trecute în câmpul datei de închidere. De exemplu, dacă agentul de vânzări editează data de închidere a unui deal, trebuie să fie împiedicat să introducă orice dată din trecut. Câmpul trebuie actualizat doar cu o dată viitoare.
*Adaugă codul de mai jos în fragment acolo unde este indicat.
condition: days360(today, closingDate.toDate()) > 0
Articole Similare
Partener Certificat Zoho
Ai nevoie de ajutor cu Zoho CRM?
Echipa noastra te poate ajuta cu implementarea, personalizarea si suportul Zoho CRM. Peste 200 de proiecte finalizate din 2011.
Contacteaza-ne