我请求一个 ASP.net MVC 视图到一个 live 框中,并且该视图包含已标记有属性的表单字段,这些属性将由 JQuery 的不显眼的验证器插件使用。
然而,客户端脚本不起作用,我的理论是,这是因为验证框架仅在页面加载时触发,而在 MVC 视图加载到 live box 时已经过去很久了。
因此,我如何让验证框架知道它有新的表单字段要修复?
干杯,伊恩。
我请求一个 ASP.net MVC 视图到一个 live 框中,并且该视图包含已标记有属性的表单字段,这些属性将由 JQuery 的不显眼的验证器插件使用。
然而,客户端脚本不起作用,我的理论是,这是因为验证框架仅在页面加载时触发,而在 MVC 视图加载到 live box 时已经过去很久了。
因此,我如何让验证框架知道它有新的表单字段要修复?
干杯,伊恩。
var $form = $("form");
$form.unbind();
$form.data("validator", null);
$.validator.unobtrusive.parse(document);
// Re add validation with changes
$form.validate($form.data("unobtrusiveValidation").options);
出于某种原因,我不得不结合 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);
我有一个类似的问题。我有一个表单,它使用 Ajax 请求重新显示具有不同表单字段的表单的一部分。我使用不显眼的验证在客户端手动进行
@Html.TextBoxFor
对于我的文本框。由于某种原因,在尝试使用无效字段提交时验证有效(即,文本框以红色标出,并且相应的错误消息与我放入的内容一起显示
data_val_required
属性,例如。
但是,在我单击一个发出 Ajax 请求以修改具有不同字段的表单然后再次提交后,仅显示无效字段上的红色轮廓,但没有呈现错误消息。
bjan 的技巧对我有用,但我仍然看不出是什么导致了这个问题。执行客户端验证所需的所有 HTML 都在那里,我只是无法弄清楚为什么错误消息属性值不会显示。
我能想到的只是 jQuery 验证代码在提交后不会再次尝试检查表单字段。