2011-09-07 103 views
0

我有一个向导样式页面,我想一次验证一个页面。因此,在用户可以离开(部分)页面之前,我会提交来自div的输入以进行验证。客户端验证工作正常,但在某些页面上,我需要在服务器上验证一个或多个字段。是的,我了解远程验证。MVC3 Razor Ajax部分页面验证

我可以在没有问题的情况下完成服务器端验证。我遇到的问题是如何在正确的字段上显示错误?我可以找到div中的字段,并找到错误消息所在的跨度。但我无法看到要显示的信息。

更新字段范围时,我必须丢失一些东西。我会认为有一个jQuery例程将错误信息添加到字段。我需要类似于控制器AddModuleError的东西。所以当我从$ .Post返回时,我可以在相应的字段上设置错误文本。

有什么建议吗?

+0

你的代码的样本可能是解决这个 – brodie

回答

0

如果您使用的是包括RemoteAttribute,或我挂在我的回答your other remote validation question版本,那么你不应该担心与ValidationMessage助手显示错误,因为这两个工作,自动显示错误。

您是否为每个字段添加了Html.ValidationMessage(...)Html.ValidationMessageFor(...)进行验证?

+0

每个字段都有ValidationMessageFor有用。 –

+0

使用你的removeval方法工作正常(我希望)单场验证,但如果我想验证从一个表单/格一个往返旅程的几个领域,我需要能够潜在地处理多个错误。 –

1

你的问题的潜在解决方案可能是本文中“Client side validation after Ajax Partial View result in ASP.NET MVC 3

在基本上,一旦你使用jQuery.validator.unobtrusive.parse()后,你可以调用验证得到你的HTML

按照文章中的例子;

$.post("YourAction", { data: <your form data> }, 
    function(htmlContent){ 
    $('#container').html(htmlContent); 
    jQuery.validator.unobtrusive.parse('#content') 
    } 

值得探讨