The RegExpValidator class lets you use a regular expression to validate a field. You pass a regular expression to the validator using the expression property, and additional flags to control the regular expression pattern matching using the flags property.

The validation is successful if the validator can find a match of the regular expression in the field to validate. A validation error occurs when the validator finds no match.

The RegExpValidator class dispatches the valid and invalid events. For an invalid event, the event object is an instance of the ValidationResultEvent class, and it contains an Array of ValidationResult objects.

However, for a valid event, the ValidationResultEvent object contains an Array of RegExpValidationResult objects. The RegExpValidationResult class is a child class of the ValidationResult class, and contains additional properties used with regular expressions, including the following:

  • matchedIndex An integer that contains the starting index in the input String of the match.
  • matchedString A String that contains the substring of the input String that matches the regular expression.
  • matchedSubStrings An Array of Strings that contains parenthesized substring matches, if any. If no substring matches are found, this Array is of length 0. Use matchedSubStrings[0] to access the first substring match.

See also:






The regular expression to use for validation.


The regular expression flags to use when matching.


Error message when there is no regular expression specifed. The default value is "The expression is missing."


Error message when there are no matches to the regular expression. The default value is "The field is invalid."

Inherited Variables

Defined by Validator


Setting this value to false will stop the validator from performing validation. When a validator is disabled, it dispatch no events, and the validate() method returns null. *


Specifies the validation listener.

If you do not specify a listener, Flex uses the value of the source property. After Flex determines the source component, it changes the border color of the component, displays an error message for a failure, or hides any existing error message for a successful validation.


A String specifying the name of the property of the source object that contains the value to validate. Setting property is optional, but if you specify source, you should set a value for either property or valueFunction as well.

Reading the property uses reflection, which may not work if Dead Code Elimination (DCE) is enabled. The property property is included for backwards compatibility with the Flex API, but the new valueFunction is now recommended instead.

See also:

  • valueFunction


If true, specifies that a missing or empty value causes a validation error.


Error message when a value is missing and the required property is true.


Specifies the object containing the property to validate. Set this to an instance of a component or a data model. You use data binding syntax in MXML to specify the value. This property supports dot-delimited Strings for specifying nested properties.

If you specify a value to the source property, then you should specify a value to either the property property or the valueFunction property as well. The source property is optional.

See also:

  • property

  • valueFunction


Specifies the component generating the event that triggers the validator. If omitted, by default Flex uses the value of the source property. When the trigger dispatches a triggerEvent, validation executes.


Specifies the event that triggers the validation. If omitted, Flex uses the valueCommit event. Flex dispatches the valueCommit event when a user completes data entry into a control. Usually this is when the user removes focus from the component, or when a property value is changed programmatically. If you want a validator to ignore all events, set triggerEvent to the empty string ("").

valueFunction:() ‑> Dynamic

A function that returns the value to validate. It's recommended to use valueFunction instead of property because reflection is used with property, which could result in issues if Dead Code Elimination (DCE) is enabled.

Inherited Methods

Defined by Validator

@:value({ suppressEvents : false, value : null })validate(?value:Dynamic, suppressEvents:Bool = false):ValidationResultEvent

Performs validation and optionally notifies the listeners of the result.



Optional value to validate. If null, then the validator uses the source and property properties to determine the value. If you specify this argument, you should also set the listener property to specify the target component for any validation error messages.


If false, then after validation, the validator will notify the listener of the result.


A ValidationResultEvent object containing the results of the validation. For a successful validation, the ValidationResultEvent.results Array property is empty. For a validation failure, the ValidationResultEvent.results Array property contains one ValidationResult object for each field checked by the validator, both for fields that failed the validation and for fields that passed. Examine the ValidationResult.isError property to determine if the field passed or failed the validation.

See also: