Browse Source

#14, #57: Support HTML5 pattern input
#133: regexp validator now supports regexp option as a string

nghuuphuoc 12 years ago
parent
commit
a927b4285f
3 changed files with 25 additions and 3 deletions
  1. 12 1
      dist/js/bootstrapValidator.js
  2. 1 1
      dist/js/bootstrapValidator.min.js
  3. 12 1
      src/js/validator/regexp.js

+ 12 - 1
dist/js/bootstrapValidator.js

@@ -1394,6 +1394,10 @@
 }(window.jQuery));
 ;(function($) {
     $.fn.bootstrapValidator.validators.regexp = {
+        enableByHtml5: function($field) {
+            return ($field.attr('pattern') + '' != '');
+        },
+
         /**
          * Check if the element value matches given regular expression
          *
@@ -1408,8 +1412,15 @@
             if (value == '') {
                 return true;
             }
+            var pattern = $field.attr('pattern'),
+                regexp;
+            if (pattern) {
+                regexp = new RegExp(pattern);
+            } else {
+                regexp = ('string' == typeof options.regexp) ? new RegExp(options.regexp) : options.regexp;
+            }
 
-            return options.regexp.test(value);
+            return regexp.test(value);
         }
     };
 }(window.jQuery));

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


+ 12 - 1
src/js/validator/regexp.js

@@ -1,5 +1,9 @@
 (function($) {
     $.fn.bootstrapValidator.validators.regexp = {
+        enableByHtml5: function($field) {
+            return ($field.attr('pattern') + '' != '');
+        },
+
         /**
          * Check if the element value matches given regular expression
          *
@@ -14,8 +18,15 @@
             if (value == '') {
                 return true;
             }
+            var pattern = $field.attr('pattern'),
+                regexp;
+            if (pattern) {
+                regexp = new RegExp(pattern);
+            } else {
+                regexp = ('string' == typeof options.regexp) ? new RegExp(options.regexp) : options.regexp;
+            }
 
-            return options.regexp.test(value);
+            return regexp.test(value);
         }
     };
 }(window.jQuery));