浏览代码

Use fields.eq(i) instead of fields[i]

phuoc 11 年之前
父节点
当前提交
e9c91f158a
共有 6 个文件被更改,包括 67 次插入53 次删除
  1. 4 4
      demo/dynamic.html
  2. 4 4
      demo/event.html
  3. 40 26
      demo/multiple.html
  4. 9 9
      dist/js/bootstrapValidator.js
  5. 1 1
      dist/js/bootstrapValidator.min.js
  6. 9 9
      src/js/bootstrapValidator.js

+ 4 - 4
demo/dynamic.html

@@ -149,16 +149,16 @@
                 }
                 }
             })
             })
             .on('error.field.bv', function(e, data) {
             .on('error.field.bv', function(e, data) {
-                //console.log(data.field, data.element, '-->error');
+                //console.log('error.field.bv -->', data.element);
             })
             })
             .on('success.field.bv', function(e, data) {
             .on('success.field.bv', function(e, data) {
-                //console.log(data.field, data.element, '-->success');
+                //console.log('success.field.bv -->', data.element);
             })
             })
             .on('added.field.bv', function(e, data) {
             .on('added.field.bv', function(e, data) {
-                //console.log('Added element:', data.field, data.element);
+                //console.log('Added element -->', data.field, data.element);
             })
             })
             .on('removed.field.bv', function(e, data) {
             .on('removed.field.bv', function(e, data) {
-                //console.log('Removed element:', data.field, data.element);
+                //console.log('Removed element -->', data.field, data.element);
             });
             });
     });
     });
 </script>
 </script>

+ 4 - 4
demo/event.html

@@ -284,7 +284,7 @@ $(document).ready(function() {
             }
             }
         })
         })
         .on('error.form.bv', function(e) {
         .on('error.form.bv', function(e) {
-            console.log('error');
+            console.log('error.form.bv');
 
 
             // You can get the form instance and then access API
             // You can get the form instance and then access API
             var $form = $(e.target);
             var $form = $(e.target);
@@ -294,16 +294,16 @@ $(document).ready(function() {
             // e.preventDefault();
             // e.preventDefault();
         })
         })
         .on('success.form.bv', function(e) {
         .on('success.form.bv', function(e) {
-            console.log('success');
+            console.log('success.form.bv');
 
 
             // If you want to prevent the default handler (bootstrapValidator._onSuccess(e))
             // If you want to prevent the default handler (bootstrapValidator._onSuccess(e))
             // e.preventDefault();
             // e.preventDefault();
         })
         })
         .on('error.field.bv', function(e, data) {
         .on('error.field.bv', function(e, data) {
-            console.log(data.field, '-->error');
+            console.log('error.field.bv -->', data);
         })
         })
         .on('success.field.bv', function(e, data) {
         .on('success.field.bv', function(e, data) {
-            console.log(data.field, '-->success');
+            console.log('success.field.bv -->', data);
         })
         })
         .on('status.field.bv', function(e, data) {
         .on('status.field.bv', function(e, data) {
             var $form = $(e.target);
             var $form = $(e.target);

+ 40 - 26
demo/multiple.html

@@ -114,37 +114,51 @@
 
 
 <script type="text/javascript">
 <script type="text/javascript">
     $(document).ready(function() {
     $(document).ready(function() {
-        $('#defaultForm').bootstrapValidator({
-            message: 'This value is not valid',
-            feedbackIcons: {
-                valid: 'glyphicon glyphicon-ok',
-                invalid: 'glyphicon glyphicon-remove',
-                validating: 'glyphicon glyphicon-refresh'
-            },
-            fields: {
-                gender: {
-                    validators: {
-                        notEmpty: {
-                            message: 'The gender is required'
-                        }
-                    }
+        $('#defaultForm')
+            .bootstrapValidator({
+                message: 'This value is not valid',
+                feedbackIcons: {
+                    valid: 'glyphicon glyphicon-ok',
+                    invalid: 'glyphicon glyphicon-remove',
+                    validating: 'glyphicon glyphicon-refresh'
                 },
                 },
-                'browsers[]': {
-                    validators: {
-                        notEmpty: {
-                            message: 'Please specify at least one browser you use daily for development'
+                fields: {
+                    gender: {
+                        validators: {
+                            notEmpty: {
+                                message: 'The gender is required'
+                            }
                         }
                         }
-                    }
-                },
-                'editors[]': {
-                    validators: {
-                        notEmpty: {
-                            message: 'The editor names are required'
+                    },
+                    'browsers[]': {
+                        validators: {
+                            notEmpty: {
+                                message: 'Please specify at least one browser you use daily for development'
+                            }
+                        }
+                    },
+                    'editors[]': {
+                        validators: {
+                            notEmpty: {
+                                message: 'The editor names are required'
+                            }
                         }
                         }
                     }
                     }
                 }
                 }
-            }
-        });
+            })
+            .on('error.field.bv', function(e, data) {
+                console.log('error.field.bv -->', data);
+            })
+            .on('status.field.bv', function(e, data) {
+                console.log('status.field.bv -->', data);
+
+                var $form = $(e.target);
+                // I don't want to add has-success class to valid field container
+                data.element.parents('.form-group').removeClass('has-success');
+
+                // I want to enable the submit button all the time
+                $form.data('bootstrapValidator').disableSubmitButtons(false);
+            });
     });
     });
 </script>
 </script>
 </body>
 </body>

+ 9 - 9
dist/js/bootstrapValidator.js

@@ -313,7 +313,7 @@
                 updateAll = (total == 1) || ('radio' == type) || ('checkbox' == type);
                 updateAll = (total == 1) || ('radio' == type) || ('checkbox' == type);
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field    = $(fields[i]),
+                var $field    = fields.eq(i),
                     $parent   = $field.parents('.form-group'),
                     $parent   = $field.parents('.form-group'),
                     // Allow user to indicate where the error messages are shown
                     // Allow user to indicate where the error messages are shown
                     container = this.options.fields[field].container || this.options.container,
                     container = this.options.fields[field].container || this.options.container,
@@ -518,7 +518,7 @@
                                 }).join(' ');
                                 }).join(' ');
 
 
                             for (var i = 0; i < fields.length; i++) {
                             for (var i = 0; i < fields.length; i++) {
-                                $(fields[i]).off(events).on(events, function() {
+                                fields.eq(i).off(events).on(events, function() {
                                     if (that._exceedThreshold($(this))) {
                                     if (that._exceedThreshold($(this))) {
                                         that.validateField($(this));
                                         that.validateField($(this));
                                     }
                                     }
@@ -706,7 +706,7 @@
                 validateResult;
                 validateResult;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field = $(fields[i]);
+                var $field = fields.eq(i);
                 if (this._isExcluded($field)) {
                 if (this._isExcluded($field)) {
                     continue;
                     continue;
                 }
                 }
@@ -784,7 +784,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field       = $(fields[i]),
+                var $field       = fields.eq(i),
                     $parent      = $field.parents('.form-group'),
                     $parent      = $field.parents('.form-group'),
                     $message     = $field.data('bv.messages'),
                     $message     = $field.data('bv.messages'),
                     $allErrors   = $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]'),
                     $allErrors   = $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]'),
@@ -932,7 +932,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length,
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length,
                 $field, validatorName, status;
                 $field, validatorName, status;
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                $field = $(fields[i]);
+                $field = fields.eq(i);
                 if (this._isExcluded($field)) {
                 if (this._isExcluded($field)) {
                     continue;
                     continue;
                 }
                 }
@@ -1084,7 +1084,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field = $(fields[i]);
+                var $field = fields.eq(i);
 
 
                 // Try to parse the options from HTML attributes
                 // Try to parse the options from HTML attributes
                 var opts = this._parseOptions($field);
                 var opts = this._parseOptions($field);
@@ -1139,7 +1139,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field = $(fields[i]);
+                var $field = fields.eq(i);
 
 
                 // Remove from the list of invalid fields
                 // Remove from the list of invalid fields
                 this.$invalidFields = this.$invalidFields.not($field);
                 this.$invalidFields = this.$invalidFields.not($field);
@@ -1179,7 +1179,7 @@
 
 
                 for (var i = 0; i < total; i++) {
                 for (var i = 0; i < total; i++) {
                     for (validator in this.options.fields[field].validators) {
                     for (validator in this.options.fields[field].validators) {
-                        $(fields[i]).removeData('bv.dfs.' + validator);
+                        fields.eq(i).removeData('bv.dfs.' + validator);
                     }
                     }
                 }
                 }
 
 
@@ -1225,7 +1225,7 @@
                 fields    = this.getFieldElements(field);
                 fields    = this.getFieldElements(field);
                 container = this.options.fields[field].container || this.options.container;
                 container = this.options.fields[field].container || this.options.container;
                 for (var i = 0; i < fields.length; i++) {
                 for (var i = 0; i < fields.length; i++) {
-                    $field = $(fields[i]);
+                    $field = fields.eq(i);
                     $field
                     $field
                         // Remove all error messages
                         // Remove all error messages
                         .data('bv.messages')
                         .data('bv.messages')

文件差异内容过多而无法显示
+ 1 - 1
dist/js/bootstrapValidator.min.js


+ 9 - 9
src/js/bootstrapValidator.js

@@ -312,7 +312,7 @@
                 updateAll = (total == 1) || ('radio' == type) || ('checkbox' == type);
                 updateAll = (total == 1) || ('radio' == type) || ('checkbox' == type);
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field    = $(fields[i]),
+                var $field    = fields.eq(i),
                     $parent   = $field.parents('.form-group'),
                     $parent   = $field.parents('.form-group'),
                     // Allow user to indicate where the error messages are shown
                     // Allow user to indicate where the error messages are shown
                     container = this.options.fields[field].container || this.options.container,
                     container = this.options.fields[field].container || this.options.container,
@@ -517,7 +517,7 @@
                                 }).join(' ');
                                 }).join(' ');
 
 
                             for (var i = 0; i < fields.length; i++) {
                             for (var i = 0; i < fields.length; i++) {
-                                $(fields[i]).off(events).on(events, function() {
+                                fields.eq(i).off(events).on(events, function() {
                                     if (that._exceedThreshold($(this))) {
                                     if (that._exceedThreshold($(this))) {
                                         that.validateField($(this));
                                         that.validateField($(this));
                                     }
                                     }
@@ -705,7 +705,7 @@
                 validateResult;
                 validateResult;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field = $(fields[i]);
+                var $field = fields.eq(i);
                 if (this._isExcluded($field)) {
                 if (this._isExcluded($field)) {
                     continue;
                     continue;
                 }
                 }
@@ -783,7 +783,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field       = $(fields[i]),
+                var $field       = fields.eq(i),
                     $parent      = $field.parents('.form-group'),
                     $parent      = $field.parents('.form-group'),
                     $message     = $field.data('bv.messages'),
                     $message     = $field.data('bv.messages'),
                     $allErrors   = $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]'),
                     $allErrors   = $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]'),
@@ -931,7 +931,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length,
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length,
                 $field, validatorName, status;
                 $field, validatorName, status;
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                $field = $(fields[i]);
+                $field = fields.eq(i);
                 if (this._isExcluded($field)) {
                 if (this._isExcluded($field)) {
                     continue;
                     continue;
                 }
                 }
@@ -1083,7 +1083,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field = $(fields[i]);
+                var $field = fields.eq(i);
 
 
                 // Try to parse the options from HTML attributes
                 // Try to parse the options from HTML attributes
                 var opts = this._parseOptions($field);
                 var opts = this._parseOptions($field);
@@ -1138,7 +1138,7 @@
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
                 total = ('radio' == type || 'checkbox' == type) ? 1 : fields.length;
 
 
             for (var i = 0; i < total; i++) {
             for (var i = 0; i < total; i++) {
-                var $field = $(fields[i]);
+                var $field = fields.eq(i);
 
 
                 // Remove from the list of invalid fields
                 // Remove from the list of invalid fields
                 this.$invalidFields = this.$invalidFields.not($field);
                 this.$invalidFields = this.$invalidFields.not($field);
@@ -1178,7 +1178,7 @@
 
 
                 for (var i = 0; i < total; i++) {
                 for (var i = 0; i < total; i++) {
                     for (validator in this.options.fields[field].validators) {
                     for (validator in this.options.fields[field].validators) {
-                        $(fields[i]).removeData('bv.dfs.' + validator);
+                        fields.eq(i).removeData('bv.dfs.' + validator);
                     }
                     }
                 }
                 }
 
 
@@ -1224,7 +1224,7 @@
                 fields    = this.getFieldElements(field);
                 fields    = this.getFieldElements(field);
                 container = this.options.fields[field].container || this.options.container;
                 container = this.options.fields[field].container || this.options.container;
                 for (var i = 0; i < fields.length; i++) {
                 for (var i = 0; i < fields.length; i++) {
-                    $field = $(fields[i]);
+                    $field = fields.eq(i);
                     $field
                     $field
                         // Remove all error messages
                         // Remove all error messages
                         .data('bv.messages')
                         .data('bv.messages')