Browse Source

Changed scope of timer variable for debounced remote validation

Adam Barker 11 years ago
parent
commit
90c46b299d
4 changed files with 20 additions and 14 deletions
  1. 5 5
      demo/remote.html
  2. 7 4
      dist/js/bootstrapValidator.js
  3. 1 1
      dist/js/bootstrapValidator.min.js
  4. 7 4
      src/js/validator/remote.js

+ 5 - 5
demo/remote.html

@@ -3,12 +3,12 @@
 <head>
     <title>BootstrapValidator demo</title>
 
-    <link rel="stylesheet" href="/vendor/bootstrap/css/bootstrap.css"/>
-    <link rel="stylesheet" href="/dist/css/bootstrapValidator.css"/>
+    <link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
+    <link rel="stylesheet" href="../dist/css/bootstrapValidator.css"/>
 
-    <script type="text/javascript" src="/vendor/jquery/jquery-1.10.2.min.js"></script>
-    <script type="text/javascript" src="/vendor/bootstrap/js/bootstrap.min.js"></script>
-    <script type="text/javascript" src="/dist/js/bootstrapValidator.js"></script>
+    <script type="text/javascript" src="../vendor/jquery/jquery-1.10.2.min.js"></script>
+    <script type="text/javascript" src="../vendor/bootstrap/js/bootstrap.min.js"></script>
+    <script type="text/javascript" src="../dist/js/bootstrapValidator.js"></script>
 </head>
 <body>
     <div class="container">

+ 7 - 4
dist/js/bootstrapValidator.js

@@ -3113,9 +3113,12 @@
         html5Attributes: {
             message: 'message',
             url: 'url',
-            name: 'name'
+            name: 'name',
+            debounceDelay: 'debounceDelay'
         },
 
+        _timer: null,
+
         /**
          * Request a remote server to check the input value
          *
@@ -3152,10 +3155,10 @@
             var dfd = new $.Deferred();
 
             if (options.debounceDelay) {
-                if($.fn.bootstrapValidator.timer) {
-                    clearTimeout($.fn.bootstrapValidator.timer);
+                if(this._timer) {
+                    clearTimeout(this._timer);
                 }
-                $.fn.bootstrapValidator.timer = setTimeout(runCallback, options.debounceDelay);
+                this._timer = setTimeout(runCallback, options.debounceDelay);
                 return dfd;
             }
             else

File diff suppressed because it is too large
+ 1 - 1
dist/js/bootstrapValidator.min.js


+ 7 - 4
src/js/validator/remote.js

@@ -3,9 +3,12 @@
         html5Attributes: {
             message: 'message',
             url: 'url',
-            name: 'name'
+            name: 'name',
+            debounceDelay: 'debounceDelay'
         },
 
+        _timer: null,
+
         /**
          * Request a remote server to check the input value
          *
@@ -42,10 +45,10 @@
             var dfd = new $.Deferred();
 
             if (options.debounceDelay) {
-                if($.fn.bootstrapValidator.timer) {
-                    clearTimeout($.fn.bootstrapValidator.timer);
+                if(this._timer) {
+                    clearTimeout(this._timer);
                 }
-                $.fn.bootstrapValidator.timer = setTimeout(runCallback, options.debounceDelay);
+                this._timer = setTimeout(runCallback, options.debounceDelay);
                 return dfd;
             }
             else