这个问题与 asp.net mvc3 框架关系最密切。它开始于“如何确保使用带有 asp.net mvc3 的 jQuery 对动态附加的输入字段进行主动验证?” 然而,经过一些搜索、测试和咖啡,我发现了这个:
function reValidate(formId) {
$("#" + formId).removeData("validator");
$("#" + formId).removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse("#" + formId);
}
这工作得很好。但是,我对框架实际使用的机制更好奇。我有一个完全基于脚本生成的页面。视图中唯一的东西是一个<div>
,一个<script>
用于加载我的库的标签,另一个<script>
用于填充<div>
. 渲染一个完全动态的页面后,验证完美无缺。但是,如果在页面加载后使用页面加载时使用的相同过程来包含一些新内容,则验证会中断。当然,只要打电话reValidate()
。
但 -
a) 一旦页面加载(或加载时),框架如何实例化验证?
b) 框架的哪一部分处理它?是 mvc3 部分、asp.net 部分、razor 引擎还是其他部分?