什么是在Windows窗体中进行验证的最佳方式

问题描述:

在Windows窗体应用程序中进行验证的最佳方式是什么?什么是在Windows窗体中进行验证的最佳方式

最简单的方法是什么?

什么是最吸引人(对最终用户)的方式?

问候,

-Kushan-

+1

你可以尝试更加具体一点。什么样的数据,什么要求等等。它不像是有一个明确定义的验证方法的列表。 – 2010-12-08 21:37:49

关于UI验证,我有一组控件验证器,我只是通过分配控件将它们插入到我需要的地方。你可以使用ErrorProvider显示错误,你所需要的只是封装框架来自动化事情。

首先是ValidatorBase类。使其抽象并继承Component类,以便您可以获得设计时支持。在这里存储一个ErrorProvider的私有实例,并使用类似Template Method模式的东西(创建一个Validate方法,然后调用受保护的抽象DoValidation方法)。在基类的具体实现中,只需重写DoValidation并将您的逻辑放在此处。您可以使用EmptyValidator(检查控件的值是否为空),RegexValidator(使用某些reg。表达式检查控件值),GroupValidator(对某个列表中的每个ValidatorBase实例执行验证),无论您想要什么。

在基础类,你可以添加的东西像性能设计时支持(错误信息,图标,控制,验证等)

EDIT1:现在,关于其他验证,然后在UI ,那就是你的业务层的领域和你的规则。这些东西也有框架/模式,但我认为你在问UI验证。虽然有更多的功能(客户端验证等),但是说实话,我不喜欢他们那么多。虽然有更多的功能(客户端验证,等等),但是ASP.NET有一组类似的验证器。

EDIT3:还要检查: Is there any validation control available in .net win forms like asp.net web form?

一个接口,你可以考虑在寻找与ErrorProvider类一起IDataErrorInfo。我有一个旧的博客文章,提供了DataBinding类和接口的列表,可能有所帮助:Data Binding Classes, Interfaces, and Attributes in Windows Forms 2.0