找回密码
 立即注册

QQ登录

只需一步,快速开始

user10086

注册会员

3

主题

10

帖子

35

积分

注册会员

积分
35
  • 95

    金币

  • 3

    主题

  • 10

    帖子

最新发帖
user10086
注册会员   /  发表于:2022-11-20 14:16  /   查看:1343  /  回复:9
用以下的方式设置日期校验,输入正常的日期格式,像 2022/12/12,一样会验证不通过
var formula = 'NOT(ISERROR(DATEVALUE(INDIRECT("RC",))))';
var validate = sp.DataValidation.createFormulaValidator(formula);

9 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-21 10:01:10
沙发
您好,这边建议您使用日期验证,https://demo.grapecity.com.cn/sp ... createdatevalidator
可以看这个示例的Data 页签:
https://demo.grapecity.com.cn/sp ... Down/inspector.html
image.png559865722.png
如果您已经充分了解了上述使用方法,还未解决您的问题,您可以再追贴询问。
回复 使用道具 举报
user10086
注册会员   /  发表于:2022-11-21 15:35:41
板凳
  1.     var validate = GC.Spread.Sheets.DataValidation.createDateValidator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.between,
  2.         new Date(1900, 1, 1),
  3.         new Date(3000, 12, 31));
复制代码

我这样设置的验证,单元格还设置了formatter:"yyyy/mm/dd;@",但是我输入“2022/”的时候它既没有触发转换,也没有提示验证不通过
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-21 18:40:51
地板
您好,您提到的触发转换是什么意思,您想要变成什么?
回复 使用道具 举报
user10086
注册会员   /  发表于:2022-11-21 20:18:50
5#
本帖最后由 user10086 于 2022-11-21 20:34 编辑
Ellia.Duan 发表于 2022-11-21 18:40
您好,您提到的触发转换是什么意思,您想要变成什么?

像在V9版本,格式设置了“yyyy/mm/dd;@”后,输入“2022/”会被格式化为“2022/01/01”,在V15.1.0设置了同样的formatter,输入“2022/”后就没有格式化,如果不能被格式化,那就应该校验不通过,但是它既没有格式化也没有校验不通过;最终想要达到的效果就是日期的验证,只要单元格的值不满足设置的日期格式就都需要验证不通过;我在官网的在线编辑器上试了下设置日期验证,输入“2022/”这样不完整的是验证不通过的
QQ拼音截图20221121203039.jpg
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-22 12:07:53
6#
您好,如果您想输入"2022/ " 变为“2022/1/1” 您可以使用如下代码
  1. sheet.setFormatter(row,col,"yyyy/mm/dd")
复制代码
此时单元格将变为“2022/1/1”,在此基础上,数据验证是可以通过的。
回复 使用道具 举报
user10086
注册会员   /  发表于:2022-11-23 10:27:43
7#
Ellia.Duan 发表于 2022-11-22 12:07
您好,如果您想输入"2022/ " 变为“2022/1/1” 您可以使用如下代码
此时单元格将变为“2022/1/1”,在此基 ...

将“yyyy/mm/dd;@”换为“yyyy/mm/dd”可以解决了,但是这两个有什么区别呢,因为旧的是“yyyy/mm/dd;@”,更改后怕有其他未知的影响
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-23 12:10:59
8#
鉴于您现在使用的是V15版本,建议使用“yyyy/mm/dd”来定义单元格格式,版本升级,带来一些api的更新,有可能是修复了一些bug,所以将其替换。暂时没有发现未知影响。
回复 使用道具 举报
user10086
注册会员   /  发表于:2022-11-23 12:17:45
9#
Ellia.Duan 发表于 2022-11-23 12:10
鉴于您现在使用的是V15版本,建议使用“yyyy/mm/dd”来定义单元格格式,版本升级,带来一些api的更新,有可 ...

OK,这个没问题了
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-23 12:27:25
10#
那本帖就结帖啦。欢迎有问题发新帖询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部