Bueno los validadores se disparan exactamente cuando el control que tienen controlado pierde el foco, por ende en el evento focusOUT no debes mandar a hacer una operacion que ya se hace automaticamente por el validador, pero como bien dices, puedes forzar a validarlo, en cualquier otro evento que no sea el focusOUT...
Bueno releyendo tu post, podrias hacer una clase que herede de TextInput y que tenga ya incluido su validacion. Ej:
Código :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
<mx:Script>
<![CDATA[
function init()
{
var t:miTextInput = new miTextInput();
this.addChild(t);
}
]]>
</mx:Script>
<mx:Button x="36" y="166" label="Button"/>
</mx:Application>La clase miTextInput
Código :
package
{
import mx.controls.TextInput;
import mx.validators.NumberValidator;
public class miTextInput extends TextInput
{
private var miValidador:NumberValidator = new NumberValidator();
public function miTextInput()
{
super();
miValidador.source = this;
miValidador.required = true;
miValidador.maxValue = 300;
miValidador.requiredFieldError = "Debes poner algo aqui";
miValidador.property = "text";
}
public function set misCondiciones(algunParametro:int)
{
/* En esta propiedad podrias varia la validacion
mediante parametros, en fin, lo dejo a tu imaginacion.
*/
}
}
}Espero te sirva de ayuda
salu2