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

Sen*_*ncy 2 c# validation winforms

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

什么是最简单的方法?

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

问候,

-Kushan-

Den*_*dic 5

关于UI验证,我有一组控制验证器,我只需通过分配控件就可以将它们插入我需要的位置.您可以使用ErrorProvider显示错误,您只需要封装的框架来自动化.

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

在基类中,您可以添加诸如属性的设计时支持(错误消息,图标,要验证的控件等等).

EDIT1:现在,关于UI之外的验证,即业务层的域和规则.这些东西也有框架/模式,但我认为你在询问UI验证.

EDIT2:ASP.NET内置了一组类似的验证器,虽然具有更多功能(客户端验证等等),但说实话,我不太喜欢它们.

EDIT3:还检查: .net win表单中是否有任何验证控件可用,如asp.net web表单?