jqBootstrapValidation (版本1.3.7)是一个为Bootstrap增加表单验证功能的插件,本来想用在项目中,结果试了一下不管用。看了看源码才明白这个插件是针对Bootstrap2.x开发的,而我用的是Bootstrap3.x,由于插件中是用的硬编码的Bootstrap2.x的class名作为selector的所以肯定不起作用,于是我把里面的几个class名替换成Bootstrap3.x的类名,并且修改了几处逻辑错误后,就可以正常使用了。
主要的改动:
- error 改为 has-error, warning改为has-warning, success改为has-success, .control-group改为 .form-group
- 去掉71行的 $form.addClass("error"); 以及 78行的 $form.removeClass("error"); 这两处都是逻辑错误
- 修改94-99行代码为:(同样是逻辑错误)
// create message container if not exists if ($helpBlock.length == 0 && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) { $helpBlock = $('<div class="help-block" />'); $controlGroup.append($helpBlock); createdElements.push($helpBlock[0]); }