找回密码
 立即注册

QQ登录

只需一步,快速开始

rsandtl

初级会员

24

主题

51

帖子

211

积分

初级会员

积分
211
rsandtl
初级会员   /  发表于:2020-10-21 17:25  /   查看:3188  /  回复:1
需要限制单元格只能输入手机号、身份证号等,自定义数据校验,给单元格设置自定的数据校验后,数据校验生效,会校验单元格的值是否符合校验规则我们目前是通过spread.toJson()来获取整个spread对象的值保存在服务器,用户下一次登录通过spread.fromJson()来展示保存好的表格
但是,通过spread.toJson()后,在spread.fromJson()自定义的数据校验失效,无论输入什么值都是校验不通过,但spreadJS默认支持的数据校验GC.Spread.Sheets.DataValidation.createTextLengthValidator等是没有问题的
怎么样能使自定义的数据校验,在spread.toJson()后,再通过spread.fromJson()还是能正常校验成功
自定义数据校验.html (3.15 KB, 下载次数: 81)

1 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-10-21 17:48:07
沙发
您好,您可以参考一下这篇教程
https://gcdn.grapecity.com.cn/fo ... hread&tid=81502

自定义数据校验序列化属于自定义序列化的一种。

自定义数据校验序列化存储为ssjson然后导出到外部页面也是需要在外部的页面再次定义自定义数据校验。

因为自定义数据校验生效是由于执行了自定义的代码,但是导出的ssjson文件没有这个代码逻辑。要想使其生效,必须在外部的Spread或者导入的表单中也需要去定义数据校验。

相关的类型应该提供一个 typeName 字段在其 toJSON函数过程中, 如此将类型名与 window 对象相联系。

另外,您可以参考学习指南这个例子:
https://demo.grapecity.com.cn/sp ... erialization/purejs
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部