如何避免在 ASP.NET MVC 3 中使用 JavaScript 和 C# 重复验证代码,最好也是考虑其他属性的上下文验证示例?
当您需要自定义验证时,ASP.NET MVC 3 是否可以避免 C# 和 JavaScript 中的重复验证逻辑?有关我正在谈论的这种重复的示例,请参阅博客文章http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx以及“Ali Nov 20”添加的评论, 2009 12:19 AM”,即 C# if 语句“if(cents < 0.99 || cents >= 0.995) {”,类似地存在于 javascript 代码中。
是否仍然(使用 ASP.NET MVC 3)不能只定义一次验证逻辑?例如,我认为应该可以编写定义验证元数据模型的 C# 代码,然后这样的模型可能可以被 C# 代码使用,也可以用于自动生成 javascript 代码?
如果 MVC 3 框架本身仍然不支持它,是否有任何外部验证库可用于生成 javascript 验证而无需复制它?
例如,如果任何框架http://fluentvalidation.codeplex.com/ 或http://specexpress.codeplex.com/ 确实支持自动生成客户端验证代码,那么有人可以提供一个链接来说明如何使用它并将所有部分放在一起而无需任何手动复制(使用 C# 和 Javascript)验证代码?
看到一个带有上下文验证的代码示例也很有趣,它只能在有时验证一个属性(即不使用硬编码属性“[Required]”,就好像在所有上下文中总是需要该属性)或具有不同的验证规则(取决于其他一些财产的价值)。例如,假设您将有一个包含国家/地区的下拉列表和一个包含州的下拉列表。如果您选择这样一个确实有州的国家,那么验证应该要求也选择一个州,但对于没有任何州的其他国家,则不应应用验证。如何使用尽可能少的需要手动实现的javascript代码来实现在客户端和服务器端都有效的这种验证(即