【发布时间】:2011-11-16 21:50:52
【问题描述】:
在 Java 世界中,有一个 bean 验证框架 JSR-303,这是一个经过深思熟虑的策略,用于在应用程序的表示层和持久层中执行数据验证。它涵盖了很多东西,包括整个图模型的验证、验证域分组、i18n 等。
我在 C# 中找不到任何数据模型验证框架。 C#中是否有类似JSR-303的东西?
【问题讨论】:
标签: c# java validation bean-validation
在 Java 世界中,有一个 bean 验证框架 JSR-303,这是一个经过深思熟虑的策略,用于在应用程序的表示层和持久层中执行数据验证。它涵盖了很多东西,包括整个图模型的验证、验证域分组、i18n 等。
我在 C# 中找不到任何数据模型验证框架。 C#中是否有类似JSR-303的东西?
【问题讨论】:
标签: c# java validation bean-validation
你可以试试流畅的验证:
【讨论】:
有企业库验证块。 http://msdn.microsoft.com/en-us/library/ff648831.aspx
它可能无法立即执行您所询问的某些特定项目 (i18n),但它适合许多其他用例。
此外,它可以免费使用并且有可用的源代码。
【讨论】:
在前端:
Web 端 (asp.net) 有 Validation controls 用于 Web 表单,Validation Helpers 用于 MVC。这两者都足够聪明,知道如何将验证逻辑呈现给客户端页面(以更快地响应失败并减少服务器负载)并在服务器端复制必要的逻辑(因为您不能信任客户端)。
Windows 端有Error Providers 用于winforms。我不确定 WPF/Silverlight,或者控制台应用程序是否有任何东西。
结果是事情有点零散,但还不错,以至于您无法快速找到所需的内容。我们的想法是找到最适合每个平台的方法,而不是将不同的平台硬塞给相同的一组原则。
在后端,您可以使用Enterprise Validation Application Block。
【讨论】:
还有可以帮助进行客户端和服务器端验证的数据注释:http://msdn.microsoft.com/en-us/library/ee256141.aspx
【讨论】: