salesforce 零基础学习(十六)Validation Rules & Date/time

上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules。

本篇参考PDF:

Date/time:https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/formula_date_time_tipsheet.pdf

Validation rules:https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/salesforce_useful_validation_formulas.pdf

一.Date/time函数

使用Date/time函数应该注意此函数的返回类型,是Date,Date/time还是time类型的。主要函数如下:

  1. DATE:创建Date类型对象,参数为年月日,其中,月的参数不像java中的月从0开始,这个参数从1开始,范围1-12

  写法:DATE(year,month,day)

  sample:DATE(2016,4,20):代表2016年4月20日

  2. DATEVALUE:通过表达式或者Date/time参数返回一个Date类型

  写法:DATEVALUE(expression)

  sample:DATEVALUE(createdDate):返回createdDate的Date值,原createdDate类型为Date/time

  sample:DATEVALUE("2016-4-20 13:40:30"):返回将字符串转换成Date类型的值。

  sample:DATEVALUE("2016-4-20"):同上

  3. DAY:返回指定日期的某月的第几天,范围为1--31

  写法:DAY(date):参数为Date类型

  sample:DAY(DATE(2016,4,20)):返回值为20,返回当前日期的day的值。

  4. MONTH:返回指定日期的月份,范围为1(January)-12(December)

  写法:MONTH(date):参数为Date类型

  sample:DAY(DATE(2016,4,20)):返回值为4,返回当前日期的month的值。

  5. NOW:返回当前时刻的Date/time类型

  写法:NOW():无参数

  sample:NOW():获取当前时刻的Date/time

  6. TODAY:返回当前日期的Date类型,也可以用于validation rules

  写法:TODAY():无参数

  sample:TODAY():获取当前日期

  sample:TODAY()-DATEVALUE(createdDate):返回当前日期与创建日期相差的天数

  7. YEAR:通过一个给定的日期,返回一个4位的年数

  写法:YEAR(date)

  sample:YEAR(DATE(2016,4,20)):返回结果为2016

  8. DATETIMEVALUE:通过表达式或者一个Date/time类型参数返回一个日期+GMT time的Date/time

  写法:DATETIMEVALUE(expression)

  sample:DATETIMEVALUE("2006-04-20 14:00:00")

  sample:DATETIMEVALUE(createdDate)

注意:当使用字符串去获取时,格式必须为YYYY-MM-DD,不符合要求情况下返回值为#ERROR!

二.Date、Date/time、Text之间转换

通过上面方法可以看到,有的时候参数需要Date类型参数,比如DAY等等,有的时候需要Date/time,系统封装的字段中,有的为Date,有的为Date/time,所以说相互转换显得尤为重要。

1.Date/time和Date之间的转换 

  • 使用DATEVALUE函数可以将Date/time参数返回一个Date类型。
  • 使用DATETIMEVALUE函数可以将Date参数返回一个Date/time类型,其中time的值默认为GMT的12:00am。

2.Date和Text之间的转换

  • 使用TEXT()函数可以将Date参数转换成字符串类型。
  • 使用DATEVALUE函数可以将字符串类型转换成Date类型,其中字符串类型应遵循YYYY-MM-DD格式。

3.Date/time和Text之间的转换

使用TEXT函数可以将Date/time函数转换成字符串类型。

使用DATETIMEVALUE可以将字符串类型转换成Date/time类型,其中字符串类型应该遵循YYYY-MM-DD格式。

三.Validation rules

validation rules用于保存信息前的字段校验,当进入sObject时,下方有一项validation rules用来设置,如下图所示。

点击new新建一条校验规则,校验规则包括以下部分:

1.规则名称以及规则的描述;

2.错误情况的formula,即如果save时formula内容为true时显示错误信息,save失败;

3.错误的消息提示,用来显示第二步false的信息提示;

4.信息提示位置:1.页面最上方;2,字段位置处。

validation rules是自动执行的,执行时机先于trigger。validation rules中函数包含但不局限于formula中的函数,比如priorValue函数,只在validation rules存在,在formula并不存在。

有些函数在使用时是需要符合某些要求才能使用和执行的,所以在应用某些函数前,最好先看一下需要注意的情况,比如PRIVORVALUE函数。

总结:formula和validation rules中封装的函数极大程度上方便了我们的开发,使用前需要先确保两件事情:

1.应用的范围,应用此函数需要考虑配置或达到哪些要求;

2.函数的参数类型以及返回类型,在formula中是较为严格要求的。

本篇主要讲解formula中的Date/time以及Date函数和validation rules的用法,如果有写错的地方还望指出,如果有不懂得地方欢迎留言,共同探讨!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python

python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别

python 3中最重要的新特性可能就是将文本(text)和二进制数据做了更清晰的区分。文本总是用unicode进行编码,以str类型表示;而二进制数据以byt...

902
来自专栏个人分享

工程开发实用类与方法总结(未完)

1 .checkArgument(boolean) :   功能描述:检查boolean是否为真。 用作方法中检查参数   失败时抛出的异常类型: Illeg...

793
来自专栏GreenLeaves

字符串留用与字符串池

字符串相等性检查是应用程序常见的操作,于此同时,这也是一种严重损害性能的操作.执行序号(字符串的二进制)相等行检查时,CLR会进行以下操作:

582
来自专栏221-B

Python基础知识总结

首先,学一门语言都会问:点解要学这门语言? 而学Python的原因很简单,原因就是…..好鬼简单.(这句话不是我说的) 很喜欢Python极简的代码风格,以及众...

872
来自专栏C语言及其他语言

C语言自定义函数如何返回数组(上)?

最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: ? 直接返回str...

2744
来自专栏hbbliyong

一个小程序引发的思考

   既然是一个小程序引发的思考,那么我们就先看看这个小程序,看看他有何神奇之处: namespace ConsoleApplication1 { cl...

2234
来自专栏C/C++基础

控制对象的创建方式(禁止创建栈对象or堆对象)和创建的数量

我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。通常情况下,对象创建在堆上还是在...

512
来自专栏达摩兵的技术空间

js中的作用域

相信自从es6出来之后,你一定多少知道或者已经在项目中实践了部分的块级作用域,在函数或者类的内部命名变量已经在使用let了,但是你知道它真正的作用是什么吗?又是...

642
来自专栏北京马哥教育

只要3分钟,Python生成器原理详解

翻译:你逗比 segmentfault.com/a/1190000011330511 这篇文章是对 500 Lines or Less 一书中高效爬虫一章的部...

2795
来自专栏对角另一面

lodash源码分析之NaN不是NaN

暗恋之纯粹,在于不求结果,完全把自己锁闭在一个单向的关系里面。 ——梁文道《暗恋到偷窥》 本文为读 lodash 源码的第五篇,后续文章会更新到这个仓库中,...

3246

扫码关注云+社区