views:

1208

answers:

2

I want to perform simple validation against multiple fields. Please note these fields are not within a mx:Form since the way they are displayed isn't the norm. The validation works properly, however, it does not highlight the textInput with the error message.

myValidator.source = empName1;
myValidator.property = "text";
if(myValidator.validate().type == ValidationResultEvent.VALID)
{
 Alert.show("good");
}
...
<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" />
<mx:TextInput x="152" y="32" width="207" id="empName1"/>

Please note I want to use the same validator "myValidator" against multiple fields which is why the source and property are set in the actionscript 3 code.

Thanks

Update: heres a similar function I created that works:

private function validateField(fields:Array):Boolean 
{
    var rtnResult:Boolean = true;
    for each(var i:Object in fields)
    {
     myValidator.source = i;
     myValidator.property = "text";

     i.validateNow();
     if(myValidator.validate().type == ValidationResultEvent.INVALID)
      rtnResult = false;
    }
    return rtnResult;
}

which is called like so:

if(!validateField([TicketTitle,TicketDesc]))
{
 Alert.show("Required fields were left blank!", "Warning");
 return;
}

and the mxml validator

<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" />
A: 

Solved it... I needed this:

empName1.validateNow();
Chris Klepeis
A: 

Hi dude

where did you put this solution in your main code?

Welysson
I updated my question with what I use
Chris Klepeis