asp.net MVC中带的jquery.validate 辅助校验框架unobtrusive.js,使用过的人一定会觉得很方便,尤其是配合Model 中的校验属性,可轻松实现前端的数据校验(当然MODEL也支持服务器端的校验)。但是jquery.validate.unobtrusive.js也有一个问题,就是它公布对外的扩展方法,通过下面的代码我们可以看出,它只能在document ready 时绑定校验。
$(function () {
$jQval.unobtrusive.parse(document);
});
因为它没有提供扩展的方法来绑定校验,这样我们通过js 在一个 form动态添加新的输入表单,或者动态载入一个表单,就没法绑定校验了。既然没有,那只能我们自己给它加个扩展方法了。你可以在上面代码位置的后面添加下面代码:
jQuery.fn.extend({
unobtrusiveValidate: function () {
return $jQval.unobtrusive.parse(this);
}
});
通过上面的代码,我们给jquery.validate.unobtrusive.js 添加了一个扩展方法 unobtrusiveValidate,通过它我们可以随时绑定输入框的校验。
Exam:我们动态载入了一个form,id 为 EditForm,我们通过下的code 就可心绑定这个form中的表单校验。
$("#EditForm").unobtrusiveValidate();
PS:最近想整理一些asp.net MVC 项目开发过程中碰到的问题,发表出来和大家交流,希望支持。。。