数据输入表单构建指南
1. 对象级验证错误处理
在通过接口返回对象级验证错误时,即便验证是在对象层面进行的,也需要将验证错误与对象的属性关联起来,否则这些错误不会在用户界面中显示。控件仅会显示其绑定属性的验证错误,而 ValidationSummary 控件仅会显示分配给(或继承自)其 DataContext 属性的对象的属性级和对象级验证错误。
因此,应将任何对象级验证错误与规则涉及的所有属性相关联,或者简单地将验证错误分配给其中一个属性。完成此操作后,还需将这些验证错误通知给用户界面。实现 IDataErrorInfo 接口时,需要为对象级验证规则涉及的每个属性引发 PropertyChanged 事件(通过实现 INotifyPropertyChanged 接口来获取);实现 INotifyDataErrorInfo 接口时,需要为对象级验证规则涉及的每个属性引发 ErrorsChanged 事件。
需要注意的是, DataForm 和 DataGrid 控件不会显示绑定对象中其字段/列未绑定属性的验证错误,即便对象验证后通过 IDataErrorInfo 或 INotifyDataErrorInfo 接口暴露了这些错误。不过,如果相应的验证规则以验证属性的形式实现,这些控件会显示它们未绑定属性的验证错误。
数据输入表单构建与验证指南
超级会员免费看
订阅专栏 解锁全文

1145

被折叠的 条评论
为什么被折叠?



