我的 C# 项目中有一堆数据类。我需要在处理这些类的对象之前执行验证。这些类没有公共(public)接口(interface)。 我正在尝试制定某种设计模式,我可以在其中指定需要在类的每个字段上执行的验证;没有一组 if else 类型条件。
我遇到了规范模式,但这似乎不太令人信服。
有没有我可以使用的现有模式/C# 方法?
[更新:我最终使用了注释和规范模式的组合。基本验证可以通过注释完成。如果发生任何无法通过注释验证的特殊情况,这些验证将通过规范编写]
最佳答案
您可能只想使用属性来指定您的验证规则。这是所有基本验证所在的 namespace :ComonpentModel.DataAnnotations .如果你想更高级一点,这个 NuGet 包给了你很多额外的属性:Data Annotation Extensions .这两者都支持使用 ASP.NET 的 MVC 非侵入式验证进行客户端验证。
关于C# 数据验证设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595097/