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

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

最简单的方法是什么?

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

问候,

-库山-

参考方案

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

首先是ValidatorBase类。使它抽象并继承Component类,以便您可以获得设计时支持。在此处存储ErrorProvider的私有实例,并使用类似Template Method模式的方法(创建Validate方法,该方法又调用受保护的抽象DoValidation方法)。在基类的具体实现中,只需重写DoValidation并将您的逻辑放在这里。您可以根据需要设置EmptyValidator(检查控件的值是否不为空),RegexValidator(检查带有某些正则表达式的控件值),GroupValidator(对某些列表中的每个ValidatorBase实例进行验证)。

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

EDIT1:现在,除了UI中的验证之外,还涉及业务层和规则的域。也有用于这些东西的框架/模式,但是我想您是在询问UI验证。

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

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

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

@ validation.api的@Pattern要在一个属性文件中配置所有模式 - java

谁能帮我从validation-api.1.1.jar配置@Pattern批注@Pattern(regex =“ PATTERN”)此配置很简单,但我的要求是要有一个包含所有具有键和值的模式的中央文件,作为模式.i.e属性文件。请您的帮助将不胜感激。 参考方案 不幸的是,拥有一个包含用于@Pattern注释的模式正则表达式的属性文件本身并不是真正可行的,因为…

WinForms / C#中的动画效果 - c#

我要粘贴游戏即时贴中的图片。您看到的空单元格矩阵由PictureBox [] []组成。我不会每当我将硬币丢到其中一列中时...我希望它掉下来,但是紫色的东西会隐藏掉落的硬币,而您看到的灰色不会隐藏它。如何产生这种效果?请注意,在每个PictureBox控件中,我已经设置了BG图像,如您所见 参考方案 不要那样做。创建自定义控件。在自定义控件中,覆盖Pain…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

在ASP.NET MVC中创建数据库回调的最有效方法 - c#

我有一个ASP.NET MVC网页,该网页基本上通过日期过滤器显示MS SQL数据库中表的行。当新行插入数据库表时,我想用新行列表更新网页视图。实现此目标的最有效方法是什么?基本上,我想从我的JavaScript创建一个到数据库服务器的回调,以用新结果更新UI。假设数据库表中的行数很大。(〜1百万)谢谢,cas 参考方案 如果数据库更新非常频繁,则可以按特定…