加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – asp.net mvc 3.0客户端验证无效

发布时间:2020-12-16 06:37:56 所属栏目:asp.Net 来源:网络整理
导读:这是我局部视图中的代码 – @using (Ajax.BeginForm("SaveLayout",new AjaxOptions { HttpMethod = "Post"})){@Html.ValidationSummary(true)div style="padding: 10px;" div class="editor-field" Layout Name: @Html.EditorFor(m = m.Name) @Html.Validati
这是我局部视图中的代码 –

@using (Ajax.BeginForm("SaveLayout",new AjaxOptions { HttpMethod = "Post"}))
{
@Html.ValidationSummary(true)
<div style="padding: 10px;">
    <div class="editor-field">
        Layout Name: @Html.EditorFor(m => m.Name)
        @Html.ValidationMessageFor(m => m.Name)</div>
    <br />
    <br />
    <input type="submit" value="Save" />
    <input type="button" onclick="CloseDialog()" value="Cancel" />
</div>
}

?在我的_Layout.cshtml看起来像这样 –

<script src="@Url.Content("~/Scripts/JQuery/jquery-1.6.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery-ui.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

我在我的根web.config中有这个 –

<add key="ClientValidationEnabled" value="true"/> 
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

这就是我的控制器动作的样子 –

[HttpPost]
public ActionResult SaveLayout(Model.Layout layout)
{
    if (ModelState.IsValid)
    {
        ILayout.SaveLayout(layout);
    }
    return PartialView("_SaveLayout",layout);
}

而鲁莽这是我的模特 –

public class Layout : BaseModel
{
    [Required(ErrorMessage = "Please assign name to the compare group.")]
    public string Name { get; set; }
}

当名称字段为空且用户点击保存按钮时,我无法使客户端验证工作.有人可以建议我在这里做错了什么吗?任何帮助都会受到高度赞赏.

解决方法

一旦用表单的新内容更新DOM,客户端验证就会停止工作,因为它最初附加的所有事件处理程序都会死掉.这是一个 blog post,你可以看看哪个解释了如何在动态加载的内容中重新附加客户端验证.

基本上,在更新DOM以重新挂接客户端验证时,必须在AJAX成功回调中使用$.validator.unobtrusive.parse方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读