Browse Source

#14, #57: Support name[]

nghuuphuoc 11 years ago
parent
commit
fd8989af22

+ 3 - 3
demo/attribute.html

@@ -109,7 +109,7 @@
                             <div class="col-lg-5">
                                 <div class="checkbox">
                                     <label>
-                                        <input type="checkbox" name="languages[]" value="english" required data-bv-notempty-message="Please specify at least one language you can speak" /> English
+                                        <input type="checkbox" name="languages[]" value="english" data-bv-message="Invalid" /> English
                                     </label>
                                 </div>
                                 <div class="checkbox">
@@ -119,7 +119,7 @@
                                 </div>
                                 <div class="checkbox">
                                     <label>
-                                        <input type="checkbox" name="languages[]" value="german" /> German
+                                        <input type="checkbox" name="languages[]" value="german" required /> German
                                     </label>
                                 </div>
                                 <div class="checkbox">
@@ -140,7 +140,7 @@
                             <div class="col-lg-5">
                                 <div class="checkbox">
                                     <label>
-                                        <input type="checkbox" name="programs[]" value="net" data-bv-choice="true" data-bv-choice-min="2" data-bv-choice-max="$4" /> .Net
+                                        <input type="checkbox" name="programs[]" value="net" data-bv-choice="true" data-bv-choice-min="2" data-bv-choice-max="4" /> .Net
                                     </label>
                                 </div>
                                 <div class="checkbox">

+ 5 - 5
dist/js/bootstrapValidator.js

@@ -105,7 +105,7 @@
                 },
                 validator,
                 i = 0,
-                v,
+                v,          // Validator name
                 enabled,
                 optionName,
                 optionValue;
@@ -129,12 +129,12 @@
                         field  = $field.attr('name') || $field.attr('data-bv-field');
                     $field.attr('data-bv-field', field);
 
-                    options.fields[field] = {
+                    options.fields[field] = $.extend({}, {
                         message:    $field.attr('data-bv-message'),
                         container:  $field.attr('data-bv-container'),
                         selector:   $field.attr('data-bv-selector'),
                         validators: {}
-                    };
+                    }, options.fields[field]);
 
                     for (v in $.fn.bootstrapValidator.validators) {
                         validator = $.fn.bootstrapValidator.validators[v];
@@ -147,11 +147,11 @@
                         {
                             // Try to parse the options via attributes
                             validator.html5Attributes = validator.html5Attributes || ['message'];
+                            options.fields[field]['validators'][v] = options.fields[field]['validators'][v] || {};
                             for (i in validator.html5Attributes) {
                                 optionName  = validator.html5Attributes[i];
                                 optionValue = $field.attr('data-bv-' + v.toLowerCase() + '-' + optionName.toLowerCase());
                                 if (optionValue) {
-                                    options.fields[field]['validators'][v]             = options.fields[field]['validators'][v] || {};
                                     options.fields[field]['validators'][v][optionName] = optionValue;
                                 }
                             }
@@ -160,7 +160,7 @@
                 });
 
             this.options = $.extend(true, this.options, options);
-            console.log(this.options);
+            //console.log(this.options);
 
             for (var field in this.options.fields) {
                 this._initField(field);

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


+ 5 - 5
src/js/bootstrapValidator.js

@@ -104,7 +104,7 @@
                 },
                 validator,
                 i = 0,
-                v,
+                v,          // Validator name
                 enabled,
                 optionName,
                 optionValue;
@@ -128,12 +128,12 @@
                         field  = $field.attr('name') || $field.attr('data-bv-field');
                     $field.attr('data-bv-field', field);
 
-                    options.fields[field] = {
+                    options.fields[field] = $.extend({}, {
                         message:    $field.attr('data-bv-message'),
                         container:  $field.attr('data-bv-container'),
                         selector:   $field.attr('data-bv-selector'),
                         validators: {}
-                    };
+                    }, options.fields[field]);
 
                     for (v in $.fn.bootstrapValidator.validators) {
                         validator = $.fn.bootstrapValidator.validators[v];
@@ -146,11 +146,11 @@
                         {
                             // Try to parse the options via attributes
                             validator.html5Attributes = validator.html5Attributes || ['message'];
+                            options.fields[field]['validators'][v] = options.fields[field]['validators'][v] || {};
                             for (i in validator.html5Attributes) {
                                 optionName  = validator.html5Attributes[i];
                                 optionValue = $field.attr('data-bv-' + v.toLowerCase() + '-' + optionName.toLowerCase());
                                 if (optionValue) {
-                                    options.fields[field]['validators'][v]             = options.fields[field]['validators'][v] || {};
                                     options.fields[field]['validators'][v][optionName] = optionValue;
                                 }
                             }
@@ -159,7 +159,7 @@
                 });
 
             this.options = $.extend(true, this.options, options);
-            console.log(this.options);
+            //console.log(this.options);
 
             for (var field in this.options.fields) {
                 this._initField(field);