Cas d'usage des règles de validation utilisant des fonctions

Cas d'usage des règles de validation utilisant des fonctions

Cette page a été traduite à l'aide d'outils d'IA et peut contenir des erreurs. Pour obtenir les informations les plus précises et à jour, veuillez consulter la version anglaise originale.
Rendre la description détaillée obligatoire si des termes spécifiques sont saisis dans le champ
Zylker Tech fabrique des ensembles électroniques et d'autres produits similaires. Leurs articles manufacturés sont confiés à un prestataire tiers pour un contrôle qualité. Les résultats d'évaluation sont partagés avec les responsables de production via un rapport d'évaluation. Il s'est souvent avéré que des champs importants du formulaire restent vides ou que la description fournie est peu claire. Ce manque d'information entraîne des allers-retours de communication qui retardent le traitement ultérieur et posent problème lors de la mise en œuvre des détails dans leurs plans d'amélioration des processus. Afin de prévenir ces problèmes dans les rapports futurs, les responsables de production décident de mettre en place une vérification qui demande aux utilisateurs de saisir une description détaillée chaque fois qu'ils entrent certains termes dans les champs.

Voici la règle de validation qui doit être configurée pour obtenir le résultat souhaité :
Validez le champ pour générer une erreur si l'utilisateur saisit l'une de ces valeurs : miscellaneous, not specific, recommended, critical, nondescript. Le message d'alerte sera : You have used term(s) that need to be described more specifically. Please enter a comprehensive description.

Voici l'extrait de code de la fonction :
/* L'extrait ci-dessous vous montre comment récupérer une liste de champs et leurs valeurs à partir d'un objet MAP. Les valeurs des champs peuvent être obtenues à partir du même objet MAP. */
entityMap = crmAPIRequest.toMap().get("record");
/* L'exemple ci-dessous montre comment obtenir la valeur d'un champ (e-mail) à partir d'un objet MAP. Ici, entityMap - objet Map, Email - Nom API du champ
Sample entityMap= {'Email': 'xxx@xxx.com', 'Last_Name': 'xxx'}; */
field = entityMap.get("field_api_name");
response = Map();
/* ---------------------------------------------------------------------------------------------- */
/* Commencez à écrire votre code ici pour effectuer la validation de champ nécessaire */
/* ---------------------------------------------------------------------------------------------- */
/* Si le code identifie une erreur de validation, définissez le statut et le message d'alerte comme indiqué ci-dessous : */
//if(condition) {
//response.put('status','error');
//response.put('message', '<votre message(100 caractères)>');
//} else {
/* S'il n'y a aucune erreur trouvée lors de la validation, définissez le statut comme indiqué ci-dessous : */
response.put('status','success');
//}

/* ---------------------------------------------------------------------------------------------- */
return response.toString();
Fonction pour la règle ci-dessus :
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 {

Valider le format du code postal pour chaque pays

Validez que le code postal saisi dans l'adresse postale suit un format particulier pour les pays suivants :

*Ajoutez les codes ci-dessous à l'extrait de code à l'endroit indiqué.

1. Pour le Bangladesh, le code postal doit être au format 9999.
condition: zipCode.matches("([0-9]{4})" ) == false
2. Pour le Canada, le code postal doit suivre ce format 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. Pour la Jamaïque, le code postal doit commencer par des lettres suivies d'un nombre, dans ce format AAAAA99.
condition: zipCode.matches("([A-Z]{5}[0-9]{2})") == false
4. Pour la Lettonie, le code postal doit contenir un caractère alphabétique, un chiffre et un tiret dans cet ordre, AA-9999.
condition: zipCode.matches("([A-Z]{2}-[0-9]{4})") == false

Valider l'expression Regex des données d'identification comme l'IBAN 

Certaines données suivent un format et une expression spécifiques qui varient selon le pays. Des données comme l'IBAN (International Bank Account Number) suivent une structure particulière qui comprend le code pays suivi du numéro de compte. De plus, le nombre de caractères du numéro de compte varie d'un pays à l'autre.

*Ajoutez les codes ci-dessous à l'extrait de code à l'endroit indiqué.

1. Pour l'Albanie, le numéro IBAN doit commencer par le code pays AL suivi du numéro de compte en 28 caractères numériques.  
condition: IBANNumber.matches("(^(AL)[0-9]{28})") == false
2. Pour la Belgique, le code pays doit être BL suivi du numéro de compte en 16 caractères numériques. 
condition: IBANNumber.matches("(^(BL)[0-9]{16})") == false
3. Pour l'Allemagne, le code pays doit être DE suivi de 22 caractères numériques pour le numéro de compte. 
condition: IBANNumber.matches("(^(DE)[0-9]{22})") == false

Valider le format dans lequel le numéro ISSN doit être saisi

L'ISSN (International Standard Serial Number) est un numéro de série unique à huit chiffres qui identifie le code de publication. Le numéro est représenté selon un motif spécifique : deux nombres à quatre chiffres séparés par un tiret (0378-5955). Lors de la recherche d'un article utilisant le code ISSN, le numéro doit être saisi au format donné. Vous pouvez donc valider le format du champ ISSN en utilisant une fonction.

*Ajoutez le code ci-dessous à l'extrait de code à l'endroit indiqué.
condition: ISSNNumber.matches("([0-9]{4}-[0-9]{4})") == false

Valider que le numéro de téléphone respecte le format international

Dans les informations personnelles, les numéros de contact saisis par les clients doivent respecter le format international. Validez donc que le champ du numéro de téléphone exige que le numéro commence par + suivi du code du pays et du numéro national. Vous pouvez saisir les codes pays dans la fonction.

*Ajoutez les codes ci-dessous à l'extrait de code à l'endroit indiqué.

1. Le numéro au Royaume-Uni doit être dans ce format +44-20-999999999.
condition: phoneNumber.matches("(^(\+44-20)-[0-9]{9})") == false
2. Le numéro aux États-Unis doit être dans ce format +1-999-999999999.
condition: phoneNumber.matches("(^(\+1)-[0-9]{3}-[0-9]{9})") == false
3. Le numéro des Pays-Bas doit être comme ceci +31-99-999999999.
condition: phoneNumber.matches("(^(\+31)-[0-9]{2}-[0-9]{9})") == false

Empêchez les commerciaux de saisir des dates passées comme date de clôture

Un commercial ne doit pas pouvoir saisir une date passée dans les dates de clôture. Par exemple, si le commercial modifie la date de clôture de la transaction, il doit être empêché de saisir une date passée. Il doit mettre à jour le champ uniquement avec une date future.

* Ajoutez le code ci-dessous dans l'extrait où indiqué.
condition: days360(today, closingDate.toDate()) > 0