|
Hi Kazuya,
As Matt said – in Flex 1.5, validators don’t support binding.
Below is a workaround for your issue.
I got most of the code from here: http://blog.daemon.com.au/archives/000317.html
Main.mxml ************* <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" xmlns:local="*"> <mx:Script> <![CDATA[ function testField( validator, value ){ validator.numLength = name1.maxChars; //debug //mx.core.Application.alert(validator.numLength); validator.doValidation(value); } ]]> </mx:Script>
<mx:Model id="test"> <firstField>{name1.text}</firstField> <secondField>{name2.text}</secondField> </mx:Model>
<local:RequiredFieldValidator xmlns="*" field="test.secondField" validate="testField(event.validator, event.value)"/>
<mx:Form> <mx:FormItem> <mx:TextInput id="name1" maxChars="5"/> </mx:FormItem> <mx:FormItem> <mx:TextInput id="name2"/> </mx:FormItem> </mx:Form> </mx:Application>
RequiredFieldValidator.as ******************************** class RequiredFieldValidator extends mx.validators.Validator { public var numLength:Number;
public function RequiredFieldValidator(){
} public function doValidation(fieldString) : Void{ RequiredFieldValidator.validateValue(this, fieldString, null, numLength); } public static function validateValue(validator:mx.validators.Validator, fieldString:String, subField, numLength) : Boolean{ var tempValue = new String(fieldString);
if(tempValue.length > numLength){ validator.validationError("TooLong", "You entered " + tempValue.length + " characters. The limit is " + numLength, subField); return false; } return true; } }
regards, peter
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of KOMON Kazuya
Hi, Matt
SPONSORED LINKS
YAHOO! GROUPS LINKS
|
- RE: [flexcoders] Validatior's binding problem? Peter Watson
- Re: RE: [flexcoders] Validatior's binding problem? KAZUYA KOMON

