BootstrapValidator 是一款專門針對Boostrap v3的表單檢驗jQuery插件,能夠實現眾多常用的檢驗功能,并且易于擴展,還支持中文!對于bootstrap用戶來說能夠開箱即用。
前置:
引入jQuery、bootstrap、bootstrapValidator
問題描述:
項目中要求所有的表單輸入框中都不能輸入&符號。沒有在bootstrap中找到有方法可用,只能自己動手了
思路:
使用正則。
分兩種情況,第一種,如果輸入框有自身的正則驗證則不用去管(一般來說使用正則驗證是嚴格控制輸入的);第二種,如果沒有正則則需要添加不能輸入&的正則。
需要重載bootstrapValidator初始化函數,根據上面的兩種情況修正初始化的設置項。最后要恢復原來的bootstrapValidator函數(這一步是必須的,原來的bootstrapValidator函數有自己的一大堆關聯的東東,不能丟失);
實現:
/*add chenhua 2015.10.16 重寫bootstrapValidator方法?給每一個驗證項都添加禁止輸入"&"符號*/ $(function(){ //保存原始的bootstrapValidator var overwrite = $.fn.bootstrapValidator; //重載bootstrapValidator $.fn.bootstrapValidator = function(options){ //恢復原來的bootstrapValidator,因為其加了很多數據是不能丟失的 $.fn.bootstrapValidator = overwrite; //這里有兩種做法,第一種是直接修改arguments內容,使其包含不能輸入&的驗證,然后調用即可; //第二種是先使用arguments來初始化,然后使用調用bootstrapValidator的函數來給非正則表達式驗證的項添加不能輸入&的驗證 //這里我們使用了第二中。 var validtor = overwrite.apply(this,arguments); if($.type(arguments[0]) == "object"){ var vtor = this.data("bootstrapValidator"), //過濾出輸入框表單項 fileds = this.find("input[name][type='hidden'],input[name][type='password'],input[name][type='text'],textarea[name]").not(":disabled,[type='hidden']"); fileds.each(function(){ //本身沒有正則驗證才添加不能輸入&的驗證 if(!vtor.getOptions($(this).attr('name'),'regexp','regexp')){ vtor.addField($(this).attr('name'), { validators: { regexp: { regexp: /^[^&]*$/, message: "不能包含&字符" } } }) } }) } return validtor; } })
以上內容是武林網小編給大家介紹的基于jQuery 實現bootstrapValidator下的全局驗證,希望大家喜歡。
新聞熱點
疑難解答