The problem is that the Flash TextField control does not seem to apply the restrict when text is pasted into the field. TextField dispatches a textInput event whenever text is typed or pasted, so by intercepting this, you can manually apply the restrict yourself.
<?xml version="1.0" encoding="utf-8"?> <mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml" textInput="textInput_handler(event)" keyFocusChange="keyFocusChange_handler(event)"> <mx:Script> <![CDATA[ private var restrictPattern : RegExp; // cached RegExp for matching characters NOT in restrict private var tabAllowed : Boolean = false; // flag indicating if restrict contains the TAB character override public function set restrict( value : String ) : void { if ( value == null ) { restrictPattern = null; tabAllowed = false; } else { restrictPattern = new RegExp( "[^" + value + "]", "g" ); tabAllowed = ( value.indexOf( "\\t" ) != -1 ); } super.restrict = value; } override public function set text( value : String ) : void { if ( restrictPattern ) value = value.replace( restrictPattern, "" ); super.text = value; } private function textInput_handler( event : TextEvent ) : void { if ( restrictPattern ) { var newText : String = event.text.replace( restrictPattern, "" ); event.preventDefault(); textField.replaceSelectedText( newText ); } } private function keyFocusChange_handler( event : FocusEvent ) : void { if ( tabAllowed ) { event.preventDefault(); textField.replaceSelectedText( "\t" ); } } ]]> </mx:Script> </mx:TextArea> Then to restrict the input to uppercase letters, digits and TAB only, you would use something like this: <controls:RestrictedTextArea restrict="A-Z0-9\-\t"/> --- In [email protected], "Warren" <warrenony...@...> wrote: > > The tab character is in the restrict -- I checked -- but it isn't alowing > the tab character through. I may have to extend the textarea and use some > sort of regular expression to allow it. But I shouldn't have to according > to the docs. I should be able to specify ascii codes somehow. > > And I must apologize to all -- I oversimplified the original usage and led > some of you astray. I'm doing this to provide a bulk upload capability into > a datagrid to meet a specific requirement. The user isn't entering the tab > character. They are cutting and pasting columns from Excel into the > textarea. When this happens, Excel automatically puts tabs (\t) between the > cells and \n at the end of every row. I can easily parse the \t \r > combinations from the textarea into an array collection. So far it works > great if I don't restrict. I suppose I could eliminate offending characters > when I parse but using the restrict was very elegant. It just cleaned > everything up in one shot. > > I hadn't really considered allowing the users to type in a tab. I'm kinda > glad I oversimplified -- you folks gave me some very good ideas on how to > handle that. > > ----- Original Message ----- > From: "Kerry Jordan" <kerry.d.jor...@...> > To: <[email protected]> > Sent: Thursday, June 10, 2010 7:43 AM > Subject: Re: [flexcoders] TextArea -- allow tab character in restrict > property > > > So using "A-Z0-9\- " didn't work? To what code did the " " character > equate? (That should be a tab character and not a space character...) > > Kerry > > On Thu, Jun 10, 2010 at 5:47 AM, Warren <warrenony...@...> wrote: > > > > sure -- if I could figure out how to indicate ascii character codes in the > > restrict clause. I've tried adding \x09 and \u0009 with no luck. > > > > ----- Original Message ----- > > From: Kerry Jordan > > To: [email protected] > > Sent: Wednesday, June 09, 2010 1:49 PM > > Subject: Re: [flexcoders] TextArea -- allow tab character in restrict > > property > > > > > > On Wed, Jun 9, 2010 at 1:36 PM, Warren <warrenony...@...> wrote: > > > I have a Flex 3 textarea with restrict = "A-Z0-9\-". I want to let users > > > enter a tab cahracter but I can't figure out how to change the restrict > > > property to allow it. > > > > > > > Couldn't you simply enter a tab between the restrict quotes (i.e., > > "A-Z0-9\- ")? Or maybe I'm missing something? > > > > Kerry > > > > > > > ------------------------------------ > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Alternative FAQ location: > https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847 > Search Archives: > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links >

