package validators { import data.DataSource; import mx.validators.ValidationResult; import mx.validators.Validator; public class UniqueFieldValidator extends Validator { public var dataSource:DataSource = null; public var uniqueWarning:String = "notUnique"; public var type:String = ""; public var newElement:Boolean = false; public function UniqueFieldValidator() { super(); } protected override function doValidation(value:Object):Array { var results:Array = super.doValidation(value); if(results.length > 0) { return results; } results = []; if(dataSource != null) { if(!dataSource.isUnique(type, value.toString(), newElement)) { results.push(new ValidationResult(true, null, "notUnique", uniqueWarning)); } } return results; } } }