验证规则

验证规则

  • 可以针对对象的新建和编辑设置检验规则,控制不符合要求的业务数据新建。
  • 验证规则功能支持定义一到多个验证规则,包括检测问题的条件表达式及相应的错误提示信息。

    • 举例:如商机提交时,校验客户状态是否为报备中,如果为报备中,则提示错误信息,保存失败。
  • 功能入口:预设对象/自定义对象管理->验证规则

    • 新建验证规则。
  • 支持同时新建多条验证规则:系统会按照创建时间逐条校验。
    • 支持停用或启用验证规则,停用后验证规则不生效。
  • 支持设置公式中字段为空时:默认为零(默认)、默认为空
  • image-20201111162617792
    • 支持插入字段类型:金额、日期、日期时间、邮箱、地址、多行文本、小数、数字、百分数、手机、单选、单行文本、布尔值、网址、定位组件、签到组件、收款组件、计算字段、统计字段、查找关联对象的计算字段&统计字段
  • 支持函数:
返回值类型 运算符/函数 参数 功能 备注及实例
通用 () 标注运算符优先级
与输入参数有关 IF(logical_test, value_if_true, value_if_false) 参数个数:3参数类型:第一个为布尔类型,第二个和第三个必须为同一种类型 判断条件是否为true,如果为true,则返回return_true_value,否则返回return_false_value其中,return_true_value和return_false_value必须为同一类型,返回值类型也为该类型 例如:34 = IF(true, 34, 52)
CASE(expression, value1, result1, value2, result2,...,else_result) 参数个数:不定参数类型:result(n)和else_result必须为同一种类型 根据满足不同的条件,返回满足条件的值。其中expression的值与value(n)进行比较,value(x)与expression的值一致,则返回对应的result(n),如果都不一致,则返回else_result,其中,result(n)和else_result必须为同一种类型,返回值类型也为该类型 例如:33 = CASE(3, 2, 2, 3, 33, 1.3)
NULLVALUE(expression, substitute_expression) 参数个数:2个参数类型:第一个为布尔类型,第二个参数可以为各种类型 判断条件是否为空,如果是,则返回return_value,如果否,返回Null其中,返回值类型也为第二个参数的类型 例如:1 = NULLVALUE(Null, 1)Null = NULLVALUE(5, 1)
数值 +,-,*,/ 参数个数:2个参数类型:数值,百分比,金额 进行数值的加减乘除运算 例如:6 = (3+2)*6/5
- 参数个数:2个参数类型:均为日期,以天为单位 运算日期的差值,以天为单位 例如:a的值为1982-04-13 b的值为1982-03-2024 = a - b
- 参数个数:2个参数类型:均为日期时间,以小时为单位 运算日期时间的差值,以小时为单位 例如:a的值为1982-04-13 17:00:00b的值为1982-04-12 15:00:0026 = a - b
- 参数个数:2个参数类型:均为时间,以小时为单位 运算时间的差值,以小时为单位 例如:a的值为17:00:00b的值为15:00:002 = a - b
VALUE(string) 参数个数:1个参数类型:文本类型 将文本形式的数字转化成数字,支持负数和小数,如果转化不成功,返回空 例如:-1982.0413 = VALUE('-1982.0413')Null = VALUE('aaa')
MIN(number1,number2) 参数个数:2个参数类型:均为数值类型 返回两个参数中最小的一个 例如:4 = MIN(4,13)
MAX(number1,number2) 参数个数:2个参数类型:均为数值类型 返回两个参数中最大的一个 例如:13 = MAX(4,13)
MULTIPLE(number1,number2) 参数个数:2个参数类型:均为数值类型 返回数字1乘以数字2的结果 例如:52 = MULTIPLE(4,13)
MOD(number1,number2) 参数个数:2个参数类型:均为数值类型 返回数字1被数字2除后的整数部分 例如:3 = MOD(13,4)
ADDS(number1,number2) 参数个数:2个参数类型:均为数值类型 返回数字1加上数字2的结果 例如:17 = ADDS(13,4)
SUBTRACTS(number1,number2) 参数个数:2个参数类型:均为数值类型 返回数字1减去数字2的结果 例如:9 = SUBTRACTS(13,4)
YEAR(date) 参数个数:1个参数类型:日期,或日期时间类型 用于获取参数中的年的数值 例如:a = 1982-04-131982 = YEAR(a)
MONTH(date) 参数个数:1个参数类型:日期,或日期时间类型 用于获取参数中的月的数值 例如:a = 1982-04-134 = MONTH(a)
DAY(date) 参数个数:1个参数类型:日期,或日期时间类型 用于获取参数中的日的数值 例如:a = 1982-04-1313 = DAY(a)
LEN(text) 参数个数:1个参数类型:文本型 返回字符串的长度 6=LEN('xiaoke')
百分比 +,-,*,/ 参数个数:2个参数类型:数值,百分比,金额 进行数值的加减乘除运算,以百分比形式返回
日期时间类型的中间值 YEARS(number) 参数个数:1个参数类型:数值型 用于指定日期/日期时间计算中所运算的年的数值 得到年份,用来和日期时间,日期进行计算例如:2019-09-09=TODAY()+YEARS(1),其中,TODAY()返回 2018-09-09
MONTHS(number) 参数个数:1个参数类型:数值型 用于指定日期/日期时间计算中所运算的月的数值 得到月份,用来和日期时间,日期进行计算例如:MONTHS(2)
DAYS(number) 参数个数:1个参数类型:数值型 用于指定日期/日期时间计算中所运算的日的数值 得到日期,用来和日期时间,日期进行计算例如:DAYS(4)
HOURS(number) 参数个数:1个参数类型:数值型 用于指定日期时间/时间计算中所运算的小时的数值 得到小时,用来和日期时间,时间进行计算例如:HOURS(4)
MINUTES(number) 参数个数:1个参数类型:数值型 用于指定日期时间/时间计算中所运算的分钟的数值 得到分钟,用来和日期时间,时间进行计算例如:MINUTES(4)
日期 +,- 参数个数:2个参数类型:第一个为日期类型,第二个为由YEARS、MONTHS、DAYS计算出的时间 进行日期运算,得出新的日期值 例如:Creatdate+DAYS(4),得到创建时间+4天后的日期
DATE(year,month,day) 参数个数:3个参数类型:数值 通过数值,创建一个日期类型值 例如:1982-4-13=DATE(1982,4,13)
DATEVALUE(string) 参数个数:1个参数类型:字符串 通过字符串,创建一个日期类型值 例如:1982-4-13=DATEVALUE('1982-04-13')
TODAY() 无参数 返回当前的日期
DATETIMETODATE(datetime) 参数个数:1个参数类型:日期时间类型公式 返回日期时间字段中的日期 例如:1982-4-13=DATEVALUE('1982-04-13 17:00:00')
日期时间 +,- 参数个数:2个参数类型:第一个为日期时间类型,第二个为由YEARS、MONTHS、DAYS,HOURS,MINUTES计算出的时间 进行日期时间运算,得出新的日期时间值 例如:DeadlineTime-DAYS(1),得到截止时间前一天的时间
DATETIMEVALUE(string) 参数个数:1个参数类型:字符串 通过字符串,创建一个日期时间类型值 例如:2001-08-24 15:45:25 = DATETIMEVALUE('2001-08-24 15:45:25')
NOW() 无参数 返回当前的日期时间
时间 +,- 参数个数:2个参数类型:第一个为日期时间类型,第二个为由HOURS,MINUTES计算出的时间 进行时间运算,得出新的日期时间值 例如:submitDailyReport-HOURS(1),得到提交工作日报的前一小时的时间注意,时间类型的值如果经过计算后的结果只在00:00到23:59之间
DATETIMETOTIME(datetime) 参数个数:1个参数类型:日期时间类型公式 返回日期时间字段中的时间 例如:17:02:40=DATEVALUE('1982-04-13 17:02:40')
文本 & 参数个数:2个参数类型:均为文本类型 字符串组合 例如:“张三”&“李四” 的值为 张三李四
'' 参数个数:1个参数类型:字符串 插入单行文本常量 例如:'单行文本'
'''''' 参数个数:1个参数类型:字符串 插入多行文本常量 例如:'''多行文本'''
NUMBERSTRING(number) 参数个数:1个参数类型:数值,金额 将数字转化成中文大写数字展示 例如:壹拾玖万捌仟贰佰零肆点壹叁 =NUMBERSTRING(198204.13)
NUMBERSTRINGRMB(number) 参数个数:1个参数类型:数值,金额 将数字转化成中文大写金额展示,最多支持到叫角,分 例如:壹拾玖万捌仟贰佰零肆元壹角叁分 =NUMBERSTRINGRMB(198204.13)
布尔 <,>, >=,<=,≠ 参数个数:2个参数类型:均为数值型,百分比,金额 数值类型进行比较,返回true或false 例如:true = 1 < 2;false = 2 < 1
AND(boolean1,boolean2,boolean3,...) 参数个数:多个参数类型:布尔型 逻辑与,若多个条件运算结果都为true,则结果为true 例如:true = AND( 2>1 ,5>3)
OR(boolean1,boolean2,...) 参数个数:多个参数类型:布尔型 逻辑或,若其中一个条件运算结果都为true,则结果为true 例如:true = OR( 2>1 ,5<3)
NOT(boolean) 参数个数:1个参数类型:布尔型 若条件为true,则结果为false,反之,结果为true 例如:false = NOT(2>1)
ISNULL(expression) 参数个数:1个参数类型:不限 判断表达式结果是否为空,如果为空,返回true,反之为false 例如:false = ISNULL(5)
ISNUMBER(string) 参数个数:1个参数类型:字符串 判断expression字符串是否可以转为数字 例如:true = ISNUMBER('5')
STARTWITH(string1, string2) 参数个数:2个参数类型:字符串 返回字符串是否以查询字符串开始的结果 例如:true = STARTWITH( 'abcdef' , 'ab' )
ENDWITH(string1, string2) 参数个数:2个参数类型:字符串 返回字符串是否以查询字符串结束的结果 例如:true = ENDWITH( 'aecdab' , 'ab' )
EQUALS(string1, string2) 参数个数:2个参数类型:字符串 返回字符串是否等于查询字符串的结果(跟大小写相关) 例如:true = EQUALS( 'aecdab' , 'aecdab' )
CONTAINS(string1, string2) 参数个数:2个参数类型:字符串 返回查询字符串在字符串中的匹配结果(true,false) 例如:false = CONTAINS( 'abcdef' , 'kl' )

results matching ""

    No results matching ""