首页 新闻 赞助 找找看

Ajax.BeginForm不显示 ModelState.AddModelError提示

0
悬赏园豆:10 [待解决问题]

我原来用的 @using(Html.BeginForm()),后台:

if (ModelState.IsValid)
 {
     if (unitOfWork.UserRepository.Get(u => u.IdentityCard == user.IdentityCard).Count() > 0)                    
 {ModelState.AddModelError("IdentityCard", "此身份证已经存在!");                     }

这样子本来是正常的,客户端能显示验证提示。

后来换成@using (Ajax.BeginForm()),服务器端验证返回的验证提示就出不来了。其他功能都正常。谁来帮看看。

问题补充:

我本觉得这个问题应该不难的。那么大家是如何使用Ajax.beginform,又使用服务器端验证的呢?

xhma44的主页 xhma44 | 初学一级 | 园豆:171
提问于:2015-12-10 20:29
< >
分享
所有回答(2)
0

你得知道这个错误提示是服务端生成出来的,你使用ajax'方式之后,服务端的返回值,是由你自己控制的,想直接更新页面状态,就需要自己写代码实现了。

幻天芒 | 园豆:37175 (高人七级) | 2015-12-11 13:27

谢谢回答。怎么实现呢?有没有什么例子或者推荐个文章学习一下。谢谢

支持(0) 反对(0) xhma44 | 园豆:171 (初学一级) | 2015-12-11 14:33
0

web新手。

同样的问题。

直接把原来正常显示时的dom元素放在html页面上,

然后把ajax返回来的消息放上显示出来。看起来是一样了。。

先这么用着,得空再找别的好的实现方式。

 

-------------------------------------

<div class="validation-summary-valid text-danger" data-valmsg-summary="true">
    <ul id="xxx" style="display:none">
        <li id="xxxx"></li>
    </ul>
</div>
CoderMonkey | 园豆:210 (菜鸟二级) | 2017-11-17 11:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册