你如何在ASP.NET MVC RC中进行验证?

时间:2009-02-05 15:18:02

标签: asp.net-mvc validation

ASP.NET MVC是否提供标准验证器功能,或者您是否必须手动创建自己的验证?如果是后者,是否有可用于ASP.NET MVC Web应用程序的第三方验证器?

5 个答案:

答案 0 :(得分:4)

发布此答案后不久,我发现xval是ASP.NET MVC的验证框架。

答案 1 :(得分:3)

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

答案 2 :(得分:1)

David Hayden wrote an article在www.codebetter.com上描述了处理验证的好方法。当然xVal是一个选项,但是理解它总是很棒。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

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

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