验证规则
验证规则
- 可以针对对象的新建和编辑设置检验规则,控制不符合要求的业务数据新建。
验证规则功能支持定义一到多个验证规则,包括检测问题的条件表达式及相应的错误提示信息。
- 举例:如商机提交时,校验客户状态是否为报备中,如果为报备中,则提示错误信息,保存失败。
功能入口:预设对象/自定义对象管理->验证规则
- 新建验证规则。
- 支持同时新建多条验证规则:系统会按照创建时间逐条校验。
- 支持停用或启用验证规则,停用后验证规则不生效。
- 支持设置公式中字段为空时:默认为零(默认)、默认为空
- 支持插入字段类型:金额、日期、日期时间、邮箱、地址、多行文本、小数、数字、百分数、手机、单选、单行文本、布尔值、网址、定位组件、签到组件、收款组件、计算字段、统计字段、查找关联对象的计算字段&统计字段
- 支持函数:
返回值类型 | 运算符/函数 | 参数 | 功能 | 备注及实例 | |
---|---|---|---|---|---|
通用 | () | 标注运算符优先级 | |||
与输入参数有关 | 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' ) |