使用函数创建验证规则的用例

使用函数创建验证规则的用例

如果在字段中输入特定术语,请将详细描述设置为必填项
Zylker Tech 生产电子组件和其他类似产品。他们的制造项目的质量检查被外包给第三方服务提供商进行。评估结果通过评估报告与生产经理共享。表单中的重要字段经常或者留为空白,或者给出模糊描述。信息的缺乏导致频繁来回通信,从而导致进一步处理的延迟,并且会在他们规划对流程即兴计划实施细节时产生问题。为在将来的报告中避免此类问题,生产经理决定进行检查,以提示用户每当在字段中输入特定术语时应输入详细描述。

以下是需要为所需结果配置的验证规则: 
验证该字段以在用户输入以下值中的任何一个时抛出错误:miscellaneous、not specific、recommended、critical 和 nondescript。提醒消息为:您使用的术语需要更具体地进行描述。请输入完整描述。  

以下是函数片段: 
/* 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();
/* ---------------------------------------------------------------------------------------------- */
/* Start writing your code here to perform the necessary field validation */
/* ---------------------------------------------------------------------------------------------- */
/* If the code identifies a validation error, set the status and alert message as shown below: */
//if(condition) {
//response.put('status','error');
//response.put('message', '<your message(100 characters)>');
//} else {
/* If there are no errors found during validation, set the status as shown below: */
response.put('status','success');
//}

/* ---------------------------------------------------------------------------------------------- */
return response.toString();
对应以上规则的函数:
 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 { 

验证每个国家/地区的邮政编码的模式

验证邮寄地址中输入的邮政编码是否遵循以下国家/地区的特定格式:

*将以下代码添加至片段中的所指示位置。

1.如果“国家/地区”为孟加拉国,那么邮政编码应该为 9999 格式。 
condition: zipCode.matches("([0-9]{4})" ) == false
2.如果“国家/地区”为加拿大,那么邮政编码应该为 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.如果“国家/地区”为牙买加,那么邮政编码应该为字母后跟数字,即 AAAAA99。
condition: zipCode.matches("([A-Z]{5}[0-9]{2})") == false
4.如果“国家/地区”为拉脱维亚,那么邮政编码应依次为字母、连字符和数字,即 AA-9999。
 condition: zipCode.matches("([A-Z]{2}-[0-9]{4})") == false

验证标识数据(例如,IBAN)的正则表达式 

根据国家/地区的不同,某些数据遵循特定格式和表达方式。诸如 IBAN(国际银行帐号)之类的数据遵循特定的结构,其中包含国家/地区代码和帐号。不仅如此,每个国家/地区帐号中的字符数也有所不同。 

*将以下代码添加至片段中的所指示位置。

1.如果“国家/地区”为阿尔巴尼亚,那么 IBAN 编号应以国家/地区代码 AL 开头,后跟 28 个数字字符的帐号。  
condition: IBANNumber.matches("(^(AL)[0-9]{28})") == false
2.如果“国家/地区”为比利时,那么国家/地区代码应为 BL,后跟 16 个数字字符的帐号。 
condition: IBANNumber.matches("(^(BL)[0-9]{16})") == false
3.如果“国家/地区”为德国,那么国家/地区代码应为 DE,后跟 22 个数字字符的帐号。 
condition: IBANNumber.matches("(^(DE)[0-9]{22})") == false

验证输入 ISSN 编号时应使用的格式

ISSN(国际标准序列号)是唯一的八位数序列号,用于标识出版代码。此编号以特定模式,例如,用连字符分开的两组四位数字 (0378-5955)。使用 ISSN 代码搜索文章时,必须以给定格式输入该编号。所以您可使用函数来验证 ISSN 字段的格式。

*将以下代码添加至片段中的所指示位置。
condition: ISSNNumber.matches("([0-9]{4}-[0-9]{4})") == false

验证电话号码是否采用国际格式

在个人信息中,客户输入的联系人号码应遵循国际格式。因此,请验证电话号码字段中的显示内容是否遵循以下规则,即,该号码必须以 + 开头,后跟国家/地区编号。您可在函数中输入国家/地区代码。

*将以下代码添加至片段中的所指示位置。

1.英国所在号码应使用以下格式:+44-20-999999999。
condition: phoneNumber.matches("(^(\+44-20)-[0-9]{9})") == false
2.美国所在号码应使用以下格式:+1-999-999999999.
condition: phoneNumber.matches("(^(\+1)-[0-9]{3}-[0-9]{9})") == false
3.荷兰所在号码应使用以下格式:+31-99-999999999。
condition: phoneNumber.matches("(^(\+31)-[0-9]{2}-[0-9]{9})") == false

禁止销售代表输入任何过去日期作为关闭日期

应禁止销售代表输入任何过去日期作为关闭日期。例如,如果销售人员编辑商机关闭日期,那么他应被禁止输入任何过去日期。他们应输入未来日期以更新字段。

*将以下代码添加至片段中的所指示位置。
condition: days360(today, closingDate.toDate()) > 0