[英]Validation in WPF - Custom validation rule or IDataErrorInfo
作为一个新的WPF程序员,我无法找到两种不同的方式来验证用户输入:
编写自定义验证规则以实现IDataErrorInfo的优缺点是什么,反之亦然? 什么时候我比较喜欢一个?
更新:
虽然我已经得到了答案,但我找到了可能对其他人有帮助的相关文章 。
基本上,如果实现IDataErrorInfo
,则验证在绑定对象中实现,而如果实现验证规则,则验证在附加到绑定的对象中实现。
就个人而言,如果你正在使用MVVM,我认为除了IDataErrorInfo
之外,你必须疯狂地使用任何东西。 您希望验证存在于视图模型中。 如果它在您的视图模型中,它是集中的,并且它是可测试的。 如果它在您的视图中,那么您的验证逻辑可能是错误的或丢失的,找到它的唯一方法是手动测试您的视图。 这是可避免的错误的巨大潜在来源。
有些地方使用验证规则是有意义的 - 例如,如果您正在围绕哑对象构建UI(例如, XmlDataSource
)。 但对于大多数生产应用程序,我不会接近它。
IDataErrorInfo的
验证规则
我的意见是,对于常见的验证,如必要的字段验证,电子邮件地址验证,您可以使用验证规则。 如果您需要进行范围验证等自定义验证,或使用IDataerrorinfo进行自定义验证。
您实现IDataErrorInfo以便能够使用数据绑定与eas。 您仍然可以构建自定义验证规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.