浏览代码

#56: Fix the issue caused by using selector option

nghuuphuoc 11 年之前
父节点
当前提交
dc563abdc0
共有 3 个文件被更改,包括 6 次插入14 次删除
  1. 2 6
      dist/js/bootstrapValidator.js
  2. 2 2
      dist/js/bootstrapValidator.min.js
  3. 2 6
      src/js/bootstrapValidator.js

+ 2 - 6
dist/js/bootstrapValidator.js

@@ -291,6 +291,7 @@
                 this.options.fields[field]['enabled'] = true;
                 this.options.fields[field]['enabled'] = true;
             }
             }
 
 
+            fields.attr('data-bv-field', field);
             for (var i = 0; i < fields.length; i++) {
             for (var i = 0; i < fields.length; i++) {
                 this._initFieldElement($(fields[i]));
                 this._initFieldElement($(fields[i]));
             }
             }
@@ -303,7 +304,7 @@
          */
          */
         _initFieldElement: function($field) {
         _initFieldElement: function($field) {
             var that      = this,
             var that      = this,
-                field     = $field.attr('name') || $field.attr('data-bv-field'),
+                field     = $field.attr('data-bv-field'),
                 fields    = this.getFieldElements(field),
                 fields    = this.getFieldElements(field),
                 index     = fields.index($field),
                 index     = fields.index($field),
                 type      = $field.attr('type'),
                 type      = $field.attr('type'),
@@ -322,11 +323,6 @@
             $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]').remove();
             $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]').remove();
             $parent.find('i[data-bv-icon-for="' + field + '"]').remove();
             $parent.find('i[data-bv-icon-for="' + field + '"]').remove();
 
 
-            // Set the attribute to indicate the fields which are defined by selector
-            if (!$field.attr('data-bv-field')) {
-                $field.attr('data-bv-field', field);
-            }
-
             // Whenever the user change the field value, mark it as not validated yet
             // Whenever the user change the field value, mark it as not validated yet
             var event = ('radio' == type || 'checkbox' == type || 'file' == type || 'SELECT' == $field.get(0).tagName) ? 'change' : this._changeEvent;
             var event = ('radio' == type || 'checkbox' == type || 'file' == type || 'SELECT' == $field.get(0).tagName) ? 'change' : this._changeEvent;
             $field.off(event + '.update.bv').on(event + '.update.bv', function() {
             $field.off(event + '.update.bv').on(event + '.update.bv', function() {

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


+ 2 - 6
src/js/bootstrapValidator.js

@@ -290,6 +290,7 @@
                 this.options.fields[field]['enabled'] = true;
                 this.options.fields[field]['enabled'] = true;
             }
             }
 
 
+            fields.attr('data-bv-field', field);
             for (var i = 0; i < fields.length; i++) {
             for (var i = 0; i < fields.length; i++) {
                 this._initFieldElement($(fields[i]));
                 this._initFieldElement($(fields[i]));
             }
             }
@@ -302,7 +303,7 @@
          */
          */
         _initFieldElement: function($field) {
         _initFieldElement: function($field) {
             var that      = this,
             var that      = this,
-                field     = $field.attr('name') || $field.attr('data-bv-field'),
+                field     = $field.attr('data-bv-field'),
                 fields    = this.getFieldElements(field),
                 fields    = this.getFieldElements(field),
                 index     = fields.index($field),
                 index     = fields.index($field),
                 type      = $field.attr('type'),
                 type      = $field.attr('type'),
@@ -321,11 +322,6 @@
             $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]').remove();
             $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]').remove();
             $parent.find('i[data-bv-icon-for="' + field + '"]').remove();
             $parent.find('i[data-bv-icon-for="' + field + '"]').remove();
 
 
-            // Set the attribute to indicate the fields which are defined by selector
-            if (!$field.attr('data-bv-field')) {
-                $field.attr('data-bv-field', field);
-            }
-
             // Whenever the user change the field value, mark it as not validated yet
             // Whenever the user change the field value, mark it as not validated yet
             var event = ('radio' == type || 'checkbox' == type || 'file' == type || 'SELECT' == $field.get(0).tagName) ? 'change' : this._changeEvent;
             var event = ('radio' == type || 'checkbox' == type || 'file' == type || 'SELECT' == $field.get(0).tagName) ? 'change' : this._changeEvent;
             $field.off(event + '.update.bv').on(event + '.update.bv', function() {
             $field.off(event + '.update.bv').on(event + '.update.bv', function() {