C# 数据验证设计模式

标签 c# validation design-patterns

我的 C# 项目中有一堆数据类。我需要在处理这些类的对象之前执行验证。这些类没有公共(public)接口(interface)。 我正在尝试制定某种设计模式,我可以在其中指定需要在类的每个字段上执行的验证;没有一组 if else 类型条件。

我遇到了规范模式,但这似乎不太令人信服。

有没有我可以使用的现有模式/C# 方法?

[更新:我最终使用了注释和规范模式的组合。基本验证可以通过注释完成。如果发生任何无法通过注释验证的特殊情况,这些验证将通过规范编写]

最佳答案

您可能只想使用属性来指定您的验证规则。这是所有基本验证所在的 namespace :ComonpentModel.DataAnnotations .如果你想更高级一点,这个 NuGet 包给了你很多额外的属性:Data Annotation Extensions .这两者都支持使用 ASP.NET 的 MVC 非侵入式验证进行客户端验证。

关于C# 数据验证设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595097/

相关文章:

jquery - 使用 jquery 重置 MVC 表单

c# - 将 List 对象的值转换为字符串

c# - MissileFired.Move 的空引用异常

c# - CS0426 - 类型名称 { } 在类型 { } 中不存在

cakephp - 如何在默认位置的其他位置显示CakePHP输入验证错误?

c# - 带有 "validateAllProperties"的 Validator.ValidateObject 在第一次错误时真正停止

oop - 并行继承定义的具体例子

design-patterns - 服务层 = 应用层 = GRASP Controller 层

java - builder模式和大量强制参数

c# - 为类变量赋值