Hi all,
In LiveDocs, its says that by setting subField within a
ValidationResult, it allows Flex to "highlight" the component.
I am not experiencing this behavior. Could someone help? I just want
the Validator to highlight the correct field.
I set up the fields to validate in an <mx:Model> tag as such:
<mx:Model id="lenderFormData">
<data>
<lenderlocation>
<address>{txAddress.text}</address>
<city>{txCity.text}</city>
<state>{txState.text}</state>
<zipcode>{txZipCode.text}</zipcode>
<phonenumber>{txPhoneNumber.text}</phonenumber>
<faxnumber>{txFaxNumber.text}</faxnumber>
</lenderlocation>
</data>
</mx:Model>
Then, I call my Custom Validator on a click event like so:
private function validateLenderLocation():void{
llv.source = lenderFormData;
llv.property = "lenderlocation";
llv.listener = lenderFormData.lenderLocation;
llv.validate();
}
The Custom Validator Class is Below:
package com.desktopae.validators{
import mx.validators.Validator;
import mx.validators.ValidationResult;
import mx.events.ValidationResultEvent;
import mx.validators.ZipCodeValidator;
import mx.validators.PhoneNumberValidator;
public class LenderLocationValidator extends Validator{
private var results:Array;
private var pnv:PhoneNumberValidator = new
PhoneNumberValidator();
private var zcv:ZipCodeValidator = new ZipCodeValidator();
public function LenderLocationValidator(){
super();
}
override protected function doValidation(value:Object):Array{
var vAddress:String = value.address;
var vCity:String = value.city;
var state:String = value.state;
var zipcode:String = value.zipcode;
var phonenumber:String = value.phonenumber;
var faxnumber:String = value.faxnumber;
// Clear results Array.
results = [];
//Call Base Class Validation
results = super.doValidation(value);
if(results.length > 0)
return results;
if(vAddress == "" || vAddress == null){
results.push(new ValidationResult(true, "address",
"noAddress","Address is required"));
}
if(vCity == "" || vCity == null){
results.push(new ValidationResult(true, "city", "noCity",
"City is required"));
}
if(state == "" || state == null){
results.push(new ValidationResult(true, "state",
"noState", "State is required"));
}
//Validate Zip Code
if(zcv.validate(zipcode).type ==
ValidationResultEvent.INVALID){
results.push(new ValidationResult(true, "zipcode",
"invalidZip", "Please enter a valid 5 digit Zip Code"));
}
return results;
}
}
}
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/