如何防止用户在文本字段(字符类型)中输入特殊字符(如键盘中不可见的符号)?

kri*_*ack 1 rpg rpgle ibm-midrange

如何防止用户在AS400中的文本字段(字符类型)中输入特殊字符(如键盘中不可见的符号)?显然,大多数时候iseries/as400在接受它并将其保存到文件中时没有问题,但有时当数据在下游报告系统中处理时,它会被系统中的不同错误拒绝.有没有办法防止入口点本身?

例如:在客户的地址字段中,最终用户复制粘贴(ctrl + c ctrl + v)来自网页或文档的详细信息,导致垃圾字符或空值的输入,这些存储没有问题但后来导致其他报告应用程序出现问题.

jam*_*man 9

使用该%CHECK功能验证屏幕字段,并在存在无效内容时显示错误.

D allow           C                   'ABCDEFGHIJKLMNOPQRSTUVWXYZ+
D                                      abcdefghijklmnopqrstuvwxyz+
D                                      0123456789'

/free
    if %check(allow:scrfld01) > 0;
        error = 1;
    endif; 
/end-free
Run Code Online (Sandbox Code Playgroud)

或者,您可以在保存记录之前遍历屏幕字段,删除允许字符集中不存在的任何字符.