五 功能实现 – 有效性判断
1、有效性判断的目的
有效性判断是指在增添、修改信息时,信息是否符合要求,比如:身份证号码应该是15位、或18位的,如果不进行有效性判断,则不能保证录入信息是真实、有效的,也会直接增加操作人员工作压力。
在信息化系统功能实现中,有效性判断功能是比较简单的、也是不可或缺的。我们不能让操作人员思考什么信息能够输入、什么信息不能够输入,因为这些应该是电脑帮助我们控制的。
2、哪些需要做有效性判断
A 业务规则或要求,比如:学历要求是本科及以上,则大专及以下学历数据就是不合法数据;
B 系统、数据库设计要求,比如:数据类型(整数、数字、字符…),数字/字符是否超长、是否可以为空等;
C 客观世界基础知识,比如:身份证长度控制要求(15位、18位)、1~17位都是数字、7~14位可以转换为有效日期等。
3、有效性判断示例
// 是否为空
If trim(editkhmc.text)='' then
Begin
Showmessage('客户名称不可为空');
exit;
End;
// 是否是有效数字
try
strtoint(editnian.text);
except
Showmessage('年龄应该是有效整数');
exit;
end;
// 年龄数据是否有效
if (strtoint(editnian.text)>150) or (strtoint(editnian.text)<0) then
begin
Showmessage('年龄区间应该在0岁~150岁');
exit;
end;
4、小结
A 除非特别必要、本人不会实时进行有效性判断(比如:在editkhmc失去焦点时进行判断并提示),而是在信息入库等过程触发时统一、依次执行。因为本人感觉在录入时实时控制影响本人操作感知;
B 为保证提示信息的友好性,本人在有效性判断部分不使用统一过程;
C 有效性判断和控件属性控制相配合,有时效果会更好些,比如:设置身份证号码的maxlength=18。