例如,我有一个带有DBNavigator和一些DBEdits的表单。
我想要实现以下目标:
问题是,OnValidate只是一个TFieldNotifyEvent,因此无法告诉应用程序编辑是否有效,因此在发布之前无法检查所有内容是否有效。
我试过以下:
想法1:让OnBeforePost验证并抛出异常
创意2:在OnValidate中抛出异常
创意3:在OnValidate中显示(非异常)警告,并在OnBeforePost中再次验证(并抛出异常)
有更好的方法吗?
答案 0 :(得分:1)
在我看来,您正在将业务逻辑(数据验证)与UI(OnValidate)混合在一起。分开他们。将所有业务逻辑放在单独的函数或对象中。可能甚至值得实现MVC模式。但在这种情况下,您必须使用ORM框架+ LiveBindings替换DB控件。
答案 1 :(得分:0)