非淡泊无以明志,非宁静无以致远 -心静如止水,动于静

jquery dialog中mvc客户端验证无效

当你在用jquery ui中的dialog中,很可能碰到在弹出的窗口中显示一个form, form提交时不进行客户端的mvc 验证,就提交到服务器端了。但是同样的代码如果不以jquery ui dialog呈现,直接呈现在layout中,是可以的。原因大概猜到,就是界面无刷新早在动态加载的html完成前,unobtrusive java script就对界面中的所有form进行的验证绑定,跟事件绑定一样,如果你不显示在再调用绑定函数,就不会做验证。现在的问题是那个函数是什么?

看源代码太慢,后来还是在国外的网站上找到是这一函数:jQuery.validator.unobtrusive.parse(“#formid[#dialogid]”);

参数可以是动态加载的formid,也可以是那个dailog id, 总之就是一段html区域就对了。

然后在submit前进行有效性判断下,如:if (!$("#Form1").valid()){

      return false;
 
posted @ 2013-06-29 16:26  烟雨客  阅读(504)  评论(0编辑  收藏  举报