请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

shiguang

注册会员

7

主题

18

帖子

57

积分

注册会员

积分
57
shiguang
注册会员   /  发表于:2024-7-3 10:07  /   查看:97  /  回复:4
1金币
我想验证单元格的数据,比如“必填”,“必须是数字”等情况,或者是自定义的验证逻辑,我看官网给的例子都是下面这几个

createDateValidator
createFormulaValidator
createFormulaListValidator
createListValidator
createNumberValidator
createTextLengthValidator


如果想创建自己的验证逻辑该怎么写呢

4 个回复

倒序浏览
eat_grape_5
初级会员   /  发表于:2024-7-3 11:31:13
沙发
设置“必填”可以用createTextLengthValidator,检查单元格内容长度是否大于0即可。
设置“必须是数字”可以用createNumberValidator,也可以使用createFormulaValidator并将验证条件设置为正则表达式即可,可参考官方文档:https://demo.grapecity.com.cn/sp ... 5%E6%95%B0%E5%AD%97
可以创建DefaultDataValidator对象自定义验证逻辑,楼主需要自定义怎样的验证逻辑?

评分

参与人数 1金币 +500 收起 理由
Joestar.Xu + 500 很给力!

查看全部评分

回复 使用道具 举报
shiguang
注册会员   /  发表于:2024-7-3 14:56:00
板凳
eat_grape_5 发表于 2024-7-3 11:31
设置“必填”可以用createTextLengthValidator,检查单元格内容长度是否大于0即可。
设置“必须是数字”可 ...

多谢,用了你提供的自定义 function 的方式能够实现自定义的验证逻辑,还有一个问题,就是怎么能获取到 sheet 中错误数据的单元格呢?
回复 使用道具 举报
eat_grape_5
初级会员   /  发表于:2024-7-3 15:15:17
地板
shiguang 发表于 2024-7-3 14:56
多谢,用了你提供的自定义 function 的方式能够实现自定义的验证逻辑,还有一个问题,就是怎么能获取到 s ...

DefaultDataValidator可以判断单元格中的值是否符合验证规则,相关接口为DefaultDataValidator:isValid(),详情可参考官方文档:https://demo.grapecity.com.cn/sp ... taValidator#isvalid
设置数据验证时需要选择单元格区域,那么可知自定义数据验证器的作用范围,思路如下:
1. 轮询数据验证单元格范围内的单元格,调用DefaultDataValidator:isValid()检查当前单元格值是否有效。
2. 当前单元格的位置由行列索引共同确定,Worksheet:getActiveRowIndex()和Worksheet:getActiveColumnIndex()接口分别用以获取当前单元格的行列索引。

评分

参与人数 1金币 +500 收起 理由
Joestar.Xu + 500 很给力!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-3 15:41:53
5#
eat_grape_5 发表于 2024-7-3 15:15
DefaultDataValidator可以判断单元格中的值是否符合验证规则,相关接口为DefaultDataValidator:isValid() ...

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部