我需要在整个Winform应用程序中实施输入验证。可以输入数据的表单有很多不同,我不希望通过表单逐个控制地创建每个项目的isValid等。别人如何处理呢?
我看到大多数相关文章都涉及Web Apps和/或提到了Enterprise Library Validation Application Block。现在,我承认我还没有对ELVAB进行彻底的研究,但是对于我所需要的东西 似乎 有些过头了。我目前的想法是编写具有各种要求的类库,并将控件作为参数传递给它。我已经有一个RegEx函数库来处理 isValidZipCode之 类的东西,因此这可能是我开始的地方。
我想要的是一个Validate按钮,该按钮onClick循环浏览该表单页面上的所有控件并执行所需的验证。我该怎么做?
在我自己的应用程序中,我需要验证键入的维度。我使用的顺序如下
这种方法的优点是,对于给定的Shape Program,验证集中在一个位置。我不必去修改每个控件,甚至不必担心表单上控件的不同类型。早在设计软件时,我就决定了UI如何用于文本框,列表框,组合框等。不同级别的严重性也有不同的处理方式。
视图负责通过接口指示表单做什么。它的实际实现方式由Form本身在Interface的实现中处理。视图并不在乎表单是显示黄色表示警告,还是显示红色表示错误。只有它可以处理这两个级别。稍后,如果出现了更好的显示警告与错误的提示,我可以在窗体本身中进行更改,而不必考虑使用View逻辑或Shape Program中的validate。
如果您正在考虑制作一个类来保存验证逻辑,那么您已经到了一半,这将为您提供新设计的其余方法。