9 * @class Roo.bootstrap.FieldLabel
10 * @extends Roo.bootstrap.Component
11 * Bootstrap FieldLabel class
12 * @cfg {String} html contents of the element
13 * @cfg {String} tag tag of the element default label
14 * @cfg {String} cls class of the element
15 * @cfg {String} for label target
16 * @cfg {Boolean} allowBlank (true|false) target allowBlank default true
17 * @cfg {String} invalidClass default "text-danger fa fa-lg fa-exclamation-triangle"
18 * @cfg {String} validClass default "text-success fa fa-lg fa-check"
21 * Create a new FieldLabel
22 * @param {Object} config The config object
25 Roo.bootstrap.FieldLabel = function(config){
26 Roo.bootstrap.Element.superclass.constructor.call(this, config);
31 * Fires after the field has been marked as invalid.
32 * @param {Roo.form.FieldLabel} this
33 * @param {String} msg The validation message
38 * Fires after the field has been validated with no errors.
39 * @param {Roo.form.FieldLabel} this
45 Roo.extend(Roo.bootstrap.FieldLabel, Roo.bootstrap.Component, {
52 invalidClass : 'text-danger fa fa-lg fa-exclamation-triangle',
53 validClass : 'text-success fa fa-lg fa-check',
55 getAutoCreate : function(){
75 initEvents: function()
77 Roo.bootstrap.Element.superclass.initEvents.call(this);
82 * Mark this field as valid
84 markValid : function(){
85 if(!this.el || this.preventMark){ // not rendered
89 this.el.removeClass([this.invalidClass, this.validClass]);
91 var feedback = this.el.select('.form-control-feedback', true).first();
94 this.el.select('.form-control-feedback', true).first().removeClass([this.invalidFeedbackClass, this.validFeedbackClass]);
97 if(this.disabled || this.allowBlank){
101 this.el.addClass(this.validClass);
103 if(this.hasFeedback && this.inputType != 'hidden' && !this.allowBlank && (this.getValue().length || this.forceFeedback)){
105 var feedback = this.el.select('.form-control-feedback', true).first();
108 this.el.select('.form-control-feedback', true).first().removeClass([this.invalidFeedbackClass, this.validFeedbackClass]);
109 this.el.select('.form-control-feedback', true).first().addClass([this.validFeedbackClass]);
114 this.fireEvent('valid', this);
118 * Mark this field as invalid
119 * @param {String} msg The validation message
121 markInvalid : function(msg)
123 if(!this.el || this.preventMark){ // not rendered
127 this.el.removeClass([this.invalidClass, this.validClass]);
129 var feedback = this.el.select('.form-control-feedback', true).first();
132 this.el.select('.form-control-feedback', true).first().removeClass([this.invalidFeedbackClass, this.validFeedbackClass]);
135 if(this.disabled || this.allowBlank){
139 this.el.addClass(this.invalidClass);
141 if(this.hasFeedback && this.inputType != 'hidden' && !this.allowBlank){
143 var feedback = this.el.select('.form-control-feedback', true).first();
146 this.el.select('.form-control-feedback', true).first().removeClass([this.invalidFeedbackClass, this.validFeedbackClass]);
148 if(this.getValue().length || this.forceFeedback){
149 this.el.select('.form-control-feedback', true).first().addClass([this.invalidFeedbackClass]);
156 this.fireEvent('invalid', this, msg);