我请求ASP.net MVC视图到现场框和视图中包含已标记了属性的表单字段由JQuery的不显眼的验证插件使用后手动绑定jQuery验证。Ajax请求
客户端脚本不工作然而,我的理论是,因为它的验证框架只被上早已由MVC视图已经被加载到现场箱的时间通过网页加载触发。
因此我怎样才能让验证框架知道它有新的表单字段来解决呢?
干杯,伊恩。
我请求ASP.net MVC视图到现场框和视图中包含已标记了属性的表单字段由JQuery的不显眼的验证插件使用后手动绑定jQuery验证。Ajax请求
客户端脚本不工作然而,我的理论是,因为它的验证框架只被上早已由MVC视图已经被加载到现场箱的时间通过网页加载触发。
因此我怎样才能让验证框架知道它有新的表单字段来解决呢?
干杯,伊恩。
你可以看看的following blog post。这里是another one。
我也有类似的问题,返回的局部视图的开头添加以下行。我有一个表单使用Ajax请求,用不同的表单域重新显示表单的一部分。我使用不显眼的验证,通过手动在客户端使用
@Html.TextBoxFor
为我的文本框。出于某种原因,试图用无效的字段(即提交时验证工作,该文本框获得红色外框和相应的错误消息与我放在
data_val_required
属性,例如内容显示。
但是,当我点击一个按钮,使Ajax请求修改与不同字段的表单,然后再次提交,只显示无效字段上的红色轮廓,但没有错误消息显示。对我来说,但我仍然看不到是什么导致了这个问题在客户端验证是在那里,我只是不明白为什么错误消息属性值不会显示。
我能想到的一点是,jQuery验证代码在提交完成后没有再次尝试检查表单字段。
var $form = $("form");
$form.unbind();
$form.data("validator", null);
$.validator.unobtrusive.parse(document);
// Re add validation with changes
$form.validate($form.data("unobtrusiveValidation").options);
完美!谢谢。 – Arvind 2013-10-02 10:14:41
出于某种原因,我不得不bjan和dfortun的回答结合起来......
所以我把这个在我看来:
@{
this.ViewContext.FormContext = new FormContext();
}
而Ajax调用完成后这个执行此:
var form = $("#EnrollmentForm");
form.unbind();
form.data("validator", null);
$.validator.unobtrusive.parse(document);
form.validate(form.data("unobtrusiveValidation").options);
Thankas Darin。关于第一个链接,'getFunction'是什么/哪里?我无法在验证文件或jQuery源中找到它。 – 2011-06-08 11:05:42
链接二号导致我得到它的工作。不幸的是,验证摘要没有出现在客户端。另一个问题... – 2011-06-08 14:42:48