Ajax 确定MVC3服务器验证是否成功
从AJAX查询返回时,是否有方法确定服务器端验证是否添加了任何错误 我试过了Ajax 确定MVC3服务器验证是否成功,ajax,asp.net-mvc-3,jquery,Ajax,Asp.net Mvc 3,Jquery,从AJAX查询返回时,是否有方法确定服务器端验证是否添加了任何错误 我试过了 if ($('#MyForm').valid() == true) ... 在OnSuccess函数中,但无论服务器端验证是否失败,它似乎总是正确的。刷新后的HTML if生成确实如预期的那样输入了错误,因此我知道验证工作正常 我怀疑valid() 通常,我将我的响应封装在一个类中,该类包含一个属性,该属性告诉我是否一切正常, 一个包含数据,另一个包含最终错误消息 public class MyJsonReposns
if ($('#MyForm').valid() == true)
...
在OnSuccess
函数中,但无论服务器端验证是否失败,它似乎总是正确的。刷新后的HTML if生成确实如预期的那样输入了错误,因此我知道验证工作正常
我怀疑
valid()
通常,我将我的响应封装在一个类中,该类包含一个属性,该属性告诉我是否一切正常,
一个包含数据,另一个包含最终错误消息
public class MyJsonReposnse
{
public bool Valid {get;set;}
public string Error {get;set;}
public IList<MyClass> Data {get;set;}
}
公共类myjsonreposse
{
公共布尔有效{get;set;}
公共字符串错误{get;set;}
公共IList数据{get;set;}
}
然后从控制器返回json,从jQuery调用的onSuccess
,检查Valid
的值,并相应地执行操作。验证是使用数据注释在服务器端完成的。使用自定义过滤器,验证错误被发送到客户端,在客户端,您可以从非侵入式js调用revalidate()
$.validator.unobtrusive.revalidate(form, validationResult);
当验证失败时,为什么不在服务器端抛出一个异常呢?这样,您就可以在OneError客户端事件中轻松捕获它。