Sim*_*ver 9 validation asp.net-mvc jquery-validate
我试图追查为什么我的ASP.NET MVC 2验证不起作用,但我找不到足够的关于如何能够做到这一点.
我已经按照David Hayden这篇有用的文章中的步骤进行了操作,这篇文章似乎是目前最好的文档,但实际上并没有发生任何事情.
当我提交到服务器时,我得到验证(正如我在预览1中所做的那样,当我向我的模型添加数据注释时)但我没有得到任何客户端验证.
我如何追踪测试?到目前为止,我已经验证了以下明显的事情
我无法轻易地看到什么是事件,以了解如何调试它.
Sim*_*ver 10
这是我学到的东西:
最重要的
工作原理(非常简单的概述)
MISC
当我有部分控件时,如果该控件使用与定义Form的视图不同的模型,我似乎无法使验证工作.
您不需要使用Html.TextBoxFor或Html.ValidationMessageFor,您可以使用Html.TextBox和Html.ValidationMessage
为了在客户端验证字段,您必须在视图中为该字段指定对 Html.ValidationMessage/Html.ValidationMessageFor<> 的调用(就像 David 在您链接的教程中所做的那样)。这本质上是您想要对该字段运行验证的客户端验证逻辑的触发器。
如果在某些情况下,您实际上并不希望为每个字段直观地显示验证消息(即通过使用 Html.ValidationMessage),而是希望允许摘要成为验证错误消息的唯一来源(即通过使用 Html.ValidationMessage)。 ValidationSummary),您仍然需要某种方法来“触发”您想要的特定字段的验证。这可以通过在视图中使用 Html.Validate/Html.ValidateFor<> 方法来实现。这些助手不会呈现任何内容,而只会注册指定的字段以进行客户端验证。
这两个要求都存在,因为您可能不希望客户端验证自动验证模型对象上的每个属性,因为其中一些属性甚至可能不是您想要验证的表单的一部分。