.net - 选择哪个验证框架 : Spring Validation or Validation Application Block (Enterprise LIbrary 4. 0)?

标签 .net validation frameworks validation-application-bl

我正在尝试为主要应用程序选择一种验证框架,虽然这两种选择似乎都很诱人,但我想知道在选择其中一种之前我是否应该了解任何具体的优缺点。

最佳答案

在我看来,使用属性进行验证并不是最好的解决方案。首先,您必须引用领域模型中的基础设施。其次,您没有任何机会向编译的类添加验证。最后,您无法使用属性验证复杂的逻辑,并且必须为实体创建 Validate 方法,这看起来很尴尬。

在我看来,验证应该分为不同的对象。例如 IValidator,您可以将验证定义为规则。使用类似 xVal 的框架有助于使用 JavaScript 在表示层中进行验证。

您可能想要查找xValFluentValidation for .NETNHibernate Validator 1.2 alpha 也具有流畅的语法,并且与 xVal 集成(不确定 alpha,但 1.0 应该是)。

企业验证 block 也有一些负面影响。我的实体的属性最终有 3 行属性,这使得可读性变差。尝试使用 AND 或 OR 运算符添加验证也非常痛苦。

关于.net - 选择哪个验证框架 : Spring Validation or Validation Application Block (Enterprise LIbrary 4. 0)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/751700/

相关文章:

asp.net-mvc - 如何在不重复代码的情况下实现业务和 View 验证?

Visual Studio .net 2003 Web 组件问题上的 Asp.net

ios - 使用嵌套库创建 Cocoa Touch Framework 时出现链接错误

c# - 在运行时设置 xmlrpc.net 服务 url

c# - 在不使用扩展方法的情况下使用通用逻辑扩展 C# 接口(interface)

.net - 如何将我的 View 模型属性绑定(bind)到应用程序设置?

c# - Npgsql:INSERT 命令不插入

javascript - 编写javascript来动态创建表。需要帮助验证用户输入

Python-验证电子邮件是否存在

c# - 如何连接到 Visual Studio 中的数据库