【发布时间】:2015-07-22 17:26:55
【问题描述】:
假设我有一个视图模型。它有一个必需的Name 属性。而且我禁用了客户端验证。我的操作方法中有这段代码:
if (!ModelState.IsValid)
{
return View(model);
}
所以,一切正常。它将在发布后突出显示必填字段。但是,我不明白哪个 jQuery 验证函数执行此过程? jQuery Validation 如何检测到表单已经提交过一次?
我想找到那个代码,因为我想稍微改变一下。例如,我有自己的助手,它具有自定义验证逻辑。目前,我的自定义助手验证在无效帖子后未显示。而且,我想将我的逻辑添加到我无法在任何地方找到的内置函数中。
【问题讨论】:
-
“我已经禁用了客户端验证。” ~ 不知道你在问什么... jQuery 验证 IS “客户端”验证......你说它已被“禁用”。也许这就是为什么你在任何地方都找不到它的原因。
-
@sparky 禁用客户端验证,并不意味着提交后不会显示验证消息。我想了解什么是函数,它向元素添加无效样式并显示验证消息。我什至不知道这个过程是发生在服务器端还是客户端。你能解释一下吗?
-
Mvc 使用您在模型上设置的数据注释进行自己的验证。在发布后,它只是转到控制器然后检查模型状态错误,如果它有效,它会在函数中运行你的代码,如果不是,它会返回带有错误的模型。如果你有 jquery 验证,它一开始就永远不会去控制器。
-
jQuery Validation 是 JavaScript,它只在客户端运行。如果您禁用了客户端验证,那么 jQuery Validate 与此无关。
标签: c# asp.net-mvc validation asp.net-mvc-4