![](/img/trans.png)
[英]Prevent jQuery server-side call when client side validation fails in ASP.NET MVC
[英]Handling server-side validation with Ajax forms and ASP.Net MVC
在拒绝或结束重复的问题之前,我想表明我已经阅读了本网站和其他网站上的旧帖子。 问题在于它们很老(至少有些),没有给出很好的例子。
我目前将ASP.Net MVC 2.0与Ajax.BeginForm
和jQuery Validation
客户端验证一起使用,两者都工作得很好。 但是我希望服务器端验证错误像客户端错误一样显示(不一定是远程错误)。 服务器端错误当前应用于ModelState.AddModelError
。
我使用的代码扩展了以下内容:
<% Html.EnableClientValidation(); %>
using (Ajax.BeginForm("Bar", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "result"})) { %>
<fieldset>
<p>
<%: Html.TextAreaFor(model => model.Foo) %>
<%: Html.ValidationMessageFor(model => model.Foo) %>
</p>
<p>
<input type="submit"/>
</p>
</fieldset>
而且,正如我提到的,我使用ModelState.AddModelError
设置了错误。 当前,我返回有关错误的验证摘要(该摘要未绑定到导致它们的元素),否则返回我的结果。
到目前为止,我已经遇到了针对此问题的多种解决方案:
RenderPartial
和id='result'
设置整个表单。 但是确实没有更好的解决方案(也许在ASP.Net MVC 3.0中)吗? xVal仍然是一个很好的解决方案(没有很多开发正在进行)吗?
如果我使用JSON解决方案,是否有jQuery方式可将错误分配给特定元素以模拟100%的客户端验证?
如果有更好的解决方案,我准备切换我使用的技术。
谢谢,拉瑟·埃斯佩霍尔特
xVal很好! 我将它与2个asp.net mvc 2项目一起使用,并且效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.