龙空技术网

DxValidationProvider表单验证

稍稍有点冷 35

前言:

目前小伙伴们对“html表单非空验证”大概比较着重,姐妹们都想要了解一些“html表单非空验证”的相关资讯。那么小编也在网摘上收集了一些关于“html表单非空验证””的相关内容,希望大家能喜欢,你们一起来了解一下吧!

在Winform中使用表单时,使用统一的验证器执行数据有效性验证。因为使用了DevExpress的UI框架,所以自然而然的也要使用其内置的DxValidationProvider验证器。

验证效果图

因为之前没有接触过该控件,所以先去网上查了一下,相关的资料并不多。最终参考了()这篇文章。文中作者已经对验证器的使用做了一些封装且有详细的阐述。

其中关键的几个类:1、CustomValidation,这个类是验证类,包含一个条件集合以及执行校验的方法。校验的方法会遍历这个集合,只要其中任意一条验证失败,则表单验证失败。

CustomValidation

2、CustomRuleByRegex,自定义验证类,其实控件里是内置了一部分常用的验证规则,例如非空、范围、数字等等。但需求往往是千奇百怪的,当这些内置的验证规则不符合我们的需求时,我们就可以创建一个继承自ValidationRule的类,并重写它的验证方法,我们就可以使用这个验证类来实现我们的自定义验证目的。由于该案例中,作者使用的自定义验证规则方式为正则表达式,所以该类并命名为Regex后缀,我自己拓展了一个使用委托验证的类,所以类名可能不同。

ValidationRule自定义验证类(委托的方式)

在ControlRule中返回的自定义验证规则(委托)

3、ControlRule,控件规则类,该类对需要验证的表单控件以及规则做了二次封装,便于在CustomValidation中验证时,直接使用。

ControlRule

最后,关于原文作者所说的验证通过后,上一次的结果仍然未清除的问题。后查清,在

CustomValidation类中执行验证的控件DxValidationProvider,请由外部使用的窗体中传入。

验证:

调用验证

标签: #html表单非空验证 #winform非空验证