Changeset 2500


Ignore:
Timestamp:
09/29/08 07:07:07 (6 years ago)
Author:
martinkou
Message:

Added validation logic for dialog elements.
Removed debug message in radio button element.

Location:
CKEditor/branches/prototype/_source/plugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/prototype/_source/plugins/dialog/plugin.js

    r2499 r2500  
    330330                        onClick : function( evt ) 
    331331                        { 
    332                                 var ret = evt.data.dialog.fire( 'ok', { hide : true } ).hide; 
     332                                var dialog = evt.data.dialog, 
     333                                        ret = dialog.fire( 'ok', { hide : true } ).hide; 
     334                                for ( var i in dialog._.contents ) 
     335                                { 
     336                                        if ( dialog._.contents[i].validate && !dialog._.contents[i].validate( dialog ) ) 
     337                                                ret = false; 
     338                                } 
    333339                                if ( ret !== false ) 
    334                                         evt.data.dialog.hide(); 
     340                                        dialog.hide(); 
    335341                        } 
    336342                }, 
     
    354360                                } 
    355361                                if ( ret !== false ) 
    356                                         evt.data.dialog.hide(); 
     362                                        dialog.hide(); 
    357363                        } 
    358364                }, 
     
    430436                                                                                title : 'Your love is like bad medicine!', 
    431437                                                                                id : 'testText4', 
    432                                                                                 'default' : 'hello world!' 
     438                                                                                'default' : 'hello world!', 
     439                                                                                validate : function( dialog ) 
     440                                                                                { 
     441                                                                                        var valid = /^[A-Z a-z!]+$/.test( this.getValue() ); 
     442                                                                                        if ( !valid ) 
     443                                                                                        { 
     444                                                                                                alert( 'Test Text 4 must only contain alphanumeric characters, space, or ! and must not be empty.' ); 
     445                                                                                                this.focus(); 
     446                                                                                        } 
     447                                                                                        return valid; 
     448                                                                                } 
    433449                                                                        }, 
    434450 
  • CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js

    r2499 r2500  
    134134                                        attributes.style = styleStr.join( '; ' ); 
    135135 
     136                                // Set the validator, if any. 
     137                                if ( elementDefinition.validate ) 
     138                                        this.validate = elementDefinition.validate; 
     139 
    136140                                var innerHTML = function() 
    137141                                { 
     
    152156                                var _ = initPrivateObject.call( this, elementDefinition ); 
    153157                                this._['default'] = elementDefinition.checked || false; 
     158 
     159                                if ( elementDefinition.validate ) 
     160                                        this.validate = elementDefinition.validate(); 
    154161 
    155162                                var innerHTML = function() 
     
    181188                                if ( !( 'default' in this._ ) ) 
    182189                                        this._['default'] = elementDefinition.items[0][1] ; 
     190                                if ( elementDefinition.validate ) 
     191                                        this.validate = elementDefinition.valdiate; 
    183192                                var children = []; 
    184193 
     
    336345                                setValue : function( value ) 
    337346                                { 
    338                                         console.log( 'Radio button... children length=' + this._.children.length ); 
    339347                                        var children = this._.children, 
    340348                                                item; 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy