Freya.Li 发表于 2022-1-6 16:54:00

一看就会,超有用活字格技能:一百二十八、如何在文本框输入时前端页面校验是否唯一

本帖最后由 Freya.Li 于 2022-1-6 17:12 编辑

有同学在做需求的时候遇到了如下的情况,如果数据表中存在了身份证号,再次新增时,如果是同样的身份证号,能够直接在页面提示该身份证号已存在,而不是保存到数据库时再做提示。

思路一:直接给文本框勾选值唯一


效果如下:


思路一的提示语句不能做更改,如需修改提示语句,可用思路二

思路二:通过Odata+数据验证实现
odata还不清楚的同学,可以先看看这里:https://help.grapecity.com.cn/pa ... ion?pageId=56528383

1.利用Odata的查询行数,去数据库中查找身份证号为当前文本框的记录数,如果查出来的值大于0就表示该记录已存在




复制生成的Odata公式,在数据校验中使用

2.数据验证文档:https://help.grapecity.com.cn/pa ... ion?pageId=56527600



在数据校验中使用自定义,
公式:IF(ODATA("表1/$count?$filter=身份证号 eq "&IF(ISBLANK(O6),"null","'"&O6&"'"))>0,FALSE,TRUE)
如果大于0表示校验未通过


提示信息:


效果:


思路二的问题是:数据校验只能用一种,如果既希望用身份证校验,又要唯一校验,又要改变唯一的提示语句,就需要使用思路三


思路三:给文本框绑定命令实现


文本框在失去焦点的时候,会触发命令
1.通过设置变量命令,查询数据库中该身份证号的记录数
设置变量命令文档参见:https://help.grapecity.com.cn/pa ... ion?pageId=63112417
2.通过条件判断
如果大于0,使用设置单元格属性命令,设置页面上的某一单元格的值为提示语句
如果小于0,设置为空


设置单元格属性命令文档参见:https://help.grapecity.com.cn/pa ... ion?pageId=56527430


实现效果



工程见附件:




页: [1]
查看完整版本: 一看就会,超有用活字格技能:一百二十八、如何在文本框输入时前端页面校验是否唯一