在update之前如何进行合法性检验!!

shaxiren 2003-08-08 11:05:33
如某个字段不能为空,某个字段一定要输入数字,某个字段得格式一定要是XX-XX
deng,you有什么好的办法吧?当然有时候系统自己会validate,但我想全部自己控制,怎么做
...全文
41 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jp2k 2003-09-04
  • 打赏
  • 举报
回复
数值列一定要点上“Empty String is NULL”,不然系统会优先validate哟!
liujiaqiang 2003-09-04
  • 打赏
  • 举报
回复
在itemchange事件中写和itemerror中写都可以.最好别在updatestart中写,对性能有所影响.
jdsnhan 2003-08-09
  • 打赏
  • 举报
回复
也可以设置字段属性,选中required ,然后在保存是判定。
给你个参考
long row=1//行数赋1
integer colnbr=0//列数赋0
string colname,sumcol//用来存储列名
DO WHILE row<>0
colnbr++//继续找下一列
IF dw_3.FindRequired(Primary!,row,colnbr,colname,FALSE) < 0 then exit;
//若程序出错则返回
IF row<>0 then
sumcol = sumcol + dw_3.describe(colname+'_t'+'.text')
messagebox('错误提示','第' + string(row) + '行"' + trim(sumcol) + '"为空,请正确填写')
dw_1.scrolltorow(row)

return
END IF
///当ROW返回为0则意味再没有查出,跳出循环
LOOP
runsoft 2003-08-09
  • 打赏
  • 举报
回复
if dw_x.describe("column.Edit.editmask") <> "XX-XX" then return
runsoft 2003-08-09
  • 打赏
  • 举报
回复
if dw_x.accepttext() = -1 then return
Thinkinger 2003-08-08
  • 打赏
  • 举报
回复
我一般是在itemchanged事件里写!
shaxiren 2003-08-08
  • 打赏
  • 举报
回复
大家在做合法性检验得时候,通常是在itemerror事件里面还是在updatestart事件里面
fengzeng 2003-08-08
  • 打赏
  • 举报
回复
在accepttext()之后判断,如果取出某些字段为空,则必须修改,且焦点转移到该列;
至于一定要输入数字和格式为XX-XX,可以把列的edit style属性设置为editmask,格式为:###0、##-##;
Thinkinger 2003-08-08
  • 打赏
  • 举报
回复
在保存之前用find("column = null")类似的函数来找你指定的列时候没有输入数据;

至于xx-xx的问题,可以把列的edit style属性设置为editmask,格式化输入##-##;
shaxiren 2003-08-08
  • 打赏
  • 举报
回复
ding

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧