this prob will help the event.stopPrapgation() stops it but u can see if everything passed. this is something i am working on so feel free to use it package com.manager { import flash.utils.Dictionary; import mx.events.ValidationResultEvent; import mx.validators.Validator; //so we dont have to put it we just assume [DefaultProperty("validators")] public class ValidatorManager { /** * @private * Tells Us If Everything in the Form is Valid */ [Bindable] public var formValid:Boolean=false; /** * Accepts an Array of Validators which we will loop through * and make sure all of them pass */ [ArrayElementType("mx.validators.Validator")] private var $validators:Array; /** * @private * Key Used to retrieve the Component */ private var $validatorKey:Dictionary = new Dictionary(); public function ValidatorManager() { super(); } /** * Setters and Getters To get what the Validators are */ public function get validators():Array{ return $validators; } public function set validators(value:Array):void{ $validators=value; for(var i:int=0;i<$validators.length;i++){ Validator($validators[i]).addEventListener(ValidationResultEvent.INVALID,figureOutResults); Validator($validators[i]).addEventListener(ValidationResultEvent.VALID,figureOutResults); $validatorKey[$validators[i]] = new Object(); $validatorKey[$validators[i]].target=$validators[i]; $validatorKey[$validators[i]].isValid=false; } } /** * @private * Basically this function tells us if we can say that everything in * the form is valid */ private function figureOutResults(event:ValidationResultEvent):void { //so we start off as a base of true, reason is we will need 2 trues for us to have a true var tmpFlag:Boolean=true; for(var i:int=0;i<$validators.length;i++) { //check all of them if($validatorKey[$validators[i]].target==event.currentTarget) { $validatorKey[$validators[i]].isValid=(event.type==ValidationResultEvent.VALID); } //get the previous value and put it against the other and see if we can get a true //if not that means that one of the validators is invalid. tmpFlag=(tmpFlag && $validatorKey[$validators[i]].isValid); } formValid=tmpFlag; /* THIS STOPS ANYTHING FROM SHOWING */ event.stopPropagation(); } } }
----- Original Message ---- From: Josh McDonald <[EMAIL PROTECTED]> To: "flexcoders@yahoogroups.com" <flexcoders@yahoogroups.com> Sent: Thursday, March 6, 2008 5:49:55 PM Subject: [flexcoders] Can I check validation without validator.validate() and the associated visual feedback? Hi guys, What I'm after is something that will simply give me a true/false result for a mx:validator without triggering the popups or red outlines on fields. Is there an easy way to do this? If not, should I write custom validators with this functionality / use modified SDK source, or would it be easier to extend the various validators and peek into protected structures? Please note that I don't want to disable the functionality of validate(), I just want to be able to see whether or not it would pass. Thanks in advance, -Josh -- "Therefore, send not to know For whom the bell tolls, It tolls for thee." :: Josh 'G-Funk' McDonald :: 0437 221 380 :: [EMAIL PROTECTED] com ____________________________________________________________________________________ Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs