1

我正在使用带有 remoteurl 的 twitter 引导模式在部分视图中加载;在这种情况下,用于重置密码表格。

我正在使用 MVC 模型绑定,并在模型上设置了数据注释,以使客户端验证能够在局部视图中进行。

但是,这不会触发客户端验证。我得到了服务器端验证,这很好,但是由于某种原因,当这个表单在模态中时,它不会调用客户端验证。

jquery 验证和引导脚本在包含模式的主页中被引用。

但是,我已将 jquery 和 jquery 验证脚本引用添加到部分视图的末尾,这样做确实可以确保调用客户端验证。

为什么这些脚本必须包含在加载到模式中的部分视图中?

由于它以这种方式工作,我很乐意离开它,但是当我需要动态加载不同的 remoteUrls 时,这样做会给我的 twitter 引导模式带来另一个问题。

当在局部视图中也引用了 jquery 脚本时,模态将第一次触发,但随后出现错误。我知道这是 jquery 引用引起的问题,就好像我删除它们一样,虽然我没有得到客户端验证,但我可以多次打开模式而没有任何问题。

我用来调用模态的代码是从互联网搜索中找到的,以尝试让模态刷新传递给它的不同远程 URL 的模态主体。

$('#mymodal').removeData('modal');
$('#mymodal').modal({ remote: self.remoteUrl, keyboard: true });

然后我得到的错误是第二次触发这个 $('#mymodal').modal 为空。但它总是第一次起作用。如上所述,我认为这是因为局部视图中的 jquery 脚本引用。

有没有人对这两个问题中的任何一个有想法。

4

1 回答 1

3

我似乎最终能够让它工作的唯一方法是加载部分视图以调用以下内容:

$('#frmName').removeData("validator");
$('#frmName').removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse('#frmName');

这似乎为我调用了客户端验证。

于 2012-12-18T10:01:42.857 回答