Asp.net mvc 验证摘要和AJAX请求
我正在编写一个jQuery插件,它允许我们轻松地“hijax”一个标准HTML表单,通过AJAX而不是标准POST提交 插件需要处理的一件事是验证错误,在ASP.NETMVC的情况下,是服务器上的ModelState错误 我已经编写了一个操作过滤器,它拦截AJAX请求并将Modelstate错误作为JSON返回。这适用于字段错误(即表单上有输入的错误): jQuery ValidateAsp.net mvc 验证摘要和AJAX请求,asp.net-mvc,jquery-validate,unobtrusive-validation,Asp.net Mvc,Jquery Validate,Unobtrusive Validation,我正在编写一个jQuery插件,它允许我们轻松地“hijax”一个标准HTML表单,通过AJAX而不是标准POST提交 插件需要处理的一件事是验证错误,在ASP.NETMVC的情况下,是服务器上的ModelState错误 我已经编写了一个操作过滤器,它拦截AJAX请求并将Modelstate错误作为JSON返回。这适用于字段错误(即表单上有输入的错误): jQuery ValidateshowErrors函数查找具有与错误键匹配的名称的输入元素 由于ASP.NET MVC中的标准约定是在您希望提
showErrors
函数查找具有与错误键匹配的名称的输入元素
由于ASP.NET MVC中的标准约定是在您希望提供“摘要”错误时执行以下操作:
这会导致jqueryvalidate抛出异常
迄今为止,我想出的最佳解决方案是在表单上创建隐藏的输入:
<input type="hidden" name="summary" disabled/> <!-- prevent it from being submitted -->
@Html.ValidationMessage("summary")
这并不理想,因为它不能很好地处理多个错误。一个更好的解决方案是连接到不引人注目的验证插件如何处理摘要错误,但我不知道如何做到这一点
ModelState.AddModelError("", "Error without a key");
<input type="hidden" name="summary" disabled/> <!-- prevent it from being submitted -->
@Html.ValidationMessage("summary")
ModelState.AddModelError("summary", "Summary error");