package com.almerblank.libs.flex.validators { import mx.validators.StringValidator; import mx.validators.ValidationResult; public class ConfirmTextFieldValidator extends StringValidator { [Bindable] public var confirmAgainst:*; public var fieldsDontMatchError:String = "The fields do not match, please make sure both fields match"; public function ConfirmTextFieldValidator() { super(); } override protected function doValidation(value:Object):Array { var result:Array = super.doValidation(value); var r:ValidationResult; if (result.length == 0) { if (value != confirmAgainst.text) { r = new ValidationResult(true); r.errorMessage = fieldsDontMatchError; result.push(r); } else if (value == confirmAgainst.text) { // do nothing } else { r = new ValidationResult(true); r.errorMessage = fieldsDontMatchError; result.push(r); } } return result; } } }