Roo/bootstrap/RadioSet.js
authoredward <edward@roojs.com>
Fri, 17 Nov 2017 05:05:01 +0000 (13:05 +0800)
committeredward <edward@roojs.com>
Fri, 17 Nov 2017 05:05:01 +0000 (13:05 +0800)
Roo/bootstrap/RadioSet.js

index a5b1300..6387316 100644 (file)
@@ -133,6 +133,52 @@ Roo.extend(Roo.bootstrap.RadioSet, Roo.bootstrap.Component,  {
 //        this.markInvalid();
         return false;
         
+    },
+    
+    markValid : function()
+    {
+        this.fireEvent('valid', this);
+        
+        Roo.each(this.items, function(i){
+            i.removeClass([this.invalidClass, this.validClass]);
+            i.addClass(this.validClass);
+        }, this);
+        
+        var label = Roo.bootstrap.FieldLabel.get(this.name + '-group');
+        
+        if(this.groupId){
+            label = Roo.bootstrap.FieldLabel.get(this.groupId + '-group');
+        }
+        
+        if(label){
+            label.markValid();
+        }
+
+        if(this.inputType == 'radio'){
+            Roo.each(this.el.up('form').select('input[name='+this.name+']', true).elements, function(e){
+                e.findParent('.form-group', false, true).removeClass([_this.invalidClass, _this.validClass]);
+                e.findParent('.form-group', false, true).addClass(_this.validClass);
+            });
+            
+            return;
+        }
+        
+        if(!this.groupId){
+            this.el.findParent('.form-group', false, true).removeClass([this.invalidClass, this.validClass]);
+            this.el.findParent('.form-group', false, true).addClass(this.validClass);
+            return;
+        }
+        
+        var group = Roo.bootstrap.CheckBox.get(this.groupId);
+            
+        if(!group){
+            return;
+        }
+        
+        for(var i in group){
+            group[i].el.findParent('.form-group', false, true).removeClass([this.invalidClass, this.validClass]);
+            group[i].el.findParent('.form-group', false, true).addClass(this.validClass);
+        }
     }
 
 });