2009-02-05 46 views

回答

4

不久后,我发布了这个答案,我发现xval这是一个ASP.NET MVC验证框架。

+0

我开始使用这个有一天,这是一个快速工作。最好的部分是它只需要我的视图中的一行来获得jQuery验证工作的客户端。好东西。 – 2009-02-05 16:07:33

1

David Hayden wrote an article在www.codebetter.com上介绍了一种处理验证的好方法。当然,xVal是一种选择,但理解起来总是很棒的。

3

ASP.NET MVC包含像Html.ValidationSummary()Html.ValidationMessage()这样的方法。如果您使用TryUpdateModel,这些会自动更新。您也可以手动验证并自行设置错误消息。 Here是一个如何使用它的例子。

+0

它也适用于DefaultModelBinder,它只是简单地接受一个复杂类型作为控制器操作的参数。 – 2009-02-05 17:18:12

1

我实现了一个我在Stephen Walther的blog上找到的代码的变体。通过定义包含GetRuleViolations()方法的IValidatedEntity接口并实现调用GetRuleViolations()的部分OnValidate方法,并在违规数量非零时引发自定义异常,我将它与LINQ2SQL模型一起使用。在控制器中,这将在SubmitChanges上触发数据上下文。如果我得到一个异常,我通过GetRuleViolations()方法重新查询模型,以建立模型错误以传回视图。

1

您还可以结帐.net validation framework。它是一个规则框架,允许您创建验证器,将验证器应用于规则,将规则附加到模型中,并在客户端和服务器上运行时检查这些规则。它提供了灵活的配置规则的方式 - 大量使用linq进行流畅和强类型的配置。它还提供可扩展性点来创建您自己的客户端脚本生成器和规则。

该框架利用了MVC RC HtmlHelpers和默认约定。

如果您下载最新的源代码,您可以看到在SplitBranch - > QSAspMvc快速启动项目中工作的框架示例。它仍在积极开发中。

相关问题