Packagemx.validators
Classpublic class RegExpValidator
InheritanceRegExpValidator Inheritance Validator Inheritance flash.events.EventDispatcher

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

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:

MXML SyntaxexpandedHide MXML Syntax

The <mx:RegExpValidator> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:RegExpValidator
    expression="No default" 
    flags="No default" 
    noExpressionError="The expression is missing." 
    noMatchError="The field is invalid." 
  />
  

View the examples

See also

mx.validators.RegExpValidationResult
mx.validators.ValidationResult
RegExp


Public Properties
 PropertyDefined By
 Inheritedenabled : Boolean
Setting this value to false will stop the validator from performing validation.
Validator
  expression : String
The regular expression to use for validation.
RegExpValidator
  flags : String
The regular expression flags to use when matching.
RegExpValidator
 Inheritedlistener : Object
Specifies the validation listener.
Validator
  noExpressionError : String
Error message when there is no regular expression specifed.
RegExpValidator
  noMatchError : String
Error message when there are no matches to the regular expression.
RegExpValidator
 Inheritedproperty : String
A String specifying the name of the property of the source object that contains the value to validate.
Validator
 Inheritedrequired : Boolean
If true, specifies that a missing or empty value causes a validation error.
Validator
 InheritedrequiredFieldError : String
Error message when a value is missing and the required property is true.
Validator
 Inheritedsource : Object
Specifies the object containing the property to validate.
Validator
 Inheritedtrigger : IEventDispatcher
Specifies the component generating the event that triggers the validator.
Validator
 InheritedtriggerEvent : String
Specifies the event that triggers the validation.
Validator
Protected Properties
 PropertyDefined By
 InheritedactualListeners : Array
[read-only] Contains an Array of listener objects, if any, or the source object.
Validator
 InheritedactualTrigger : IEventDispatcher
[read-only] Contains the trigger object, if any, or the source object.
Validator
 InheritedresourceManager : IResourceManager
[read-only] A reference to the object which manages all of the application's localized resources.
Validator
 InheritedsubFields : Array
An Array of Strings containing the names for the properties contained in the value Object passed to the validate() method.
Validator
Public Methods
 MethodDefined By
  
Constructor
RegExpValidator
 Inherited
initialized(document:Object, id:String):void
Called automatically by the MXML compiler when the Validator is created using an MXML tag.
Validator
 Inherited
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
Performs validation and optionally notifies the listeners of the result.
Validator
 Inherited
validateAll(validators:Array):Array
[static] Invokes all the validators in the validators Array.
Validator
Protected Methods
 MethodDefined By
 Inherited
Sets up all of the listeners for the valid and invalid events dispatched from the validator.
Validator
  
doValidation(value:Object):Array
[override] Override of the base class doValidation() method to validate a regular expression.
RegExpValidator
 Inherited
Returns the Object to validate.
Validator
 Inherited
Returns a ValidationResultEvent from the Array of error results.
Validator
 Inherited
isRealValue(value:Object):Boolean
Returns true if value is not null.
Validator
 Inherited
Disconnects all of the listeners for the valid and invalid events dispatched from the validator.
Validator
 Inherited
This method is called when a Validator is constructed, and again whenever the ResourceManager dispatches a "change" Event to indicate that the localized resources have changed in some way.
Validator
Events
 Event Summary Defined By
 InheritedDispatched when validation fails.Validator
 InheritedDispatched when validation succeeds.Validator
Protected Constants
 ConstantDefined By
 InheritedDECIMAL_DIGITS : String = 0123456789
[static] A String containing the decimal digits 0 through 9.
Validator
 InheritedROMAN_LETTERS : String = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
[static] A string containing the upper- and lower-case letters of the Roman alphabet ("A" through "Z" and "a" through "z").
Validator
Property Detail
expressionproperty
expression:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The regular expression to use for validation.


Implementation
    public function get expression():String
    public function set expression(value:String):void
flagsproperty 
flags:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The regular expression flags to use when matching.


Implementation
    public function get flags():String
    public function set flags(value:String):void
noExpressionErrorproperty 
noExpressionError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

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


Implementation
    public function get noExpressionError():String
    public function set noExpressionError(value:String):void
noMatchErrorproperty 
noMatchError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

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


Implementation
    public function get noMatchError():String
    public function set noMatchError(value:String):void
Constructor Detail
RegExpValidator()Constructor
public function RegExpValidator()

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Constructor

Method Detail
doValidation()method
override protected function doValidation(value:Object):Array

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Override of the base class doValidation() method to validate a regular expression.

You do not call this method directly; Flex calls it as part of performing a validation. If you create a custom Validator class, you must implement this method.

Parameters

value:Object — Object to validate.

Returns
Array — For an invalid result, an Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.
Examples
RegExValidatorExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!-- Simple example to demonstrate the RegExpValidator. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            import mx.events.ValidationResultEvent;
            import mx.validators.*;

            // Write the results to the 
            private function handleResult(eventObj:ValidationResultEvent):void {
                if (eventObj.type == ValidationResultEvent.VALID) {
                    // For valid events, the results Array contains
                    // RegExpValidationResult objects.
                    var xResult:RegExpValidationResult;
                    reResults.text = "";
                    for (var i:uint = 0; i < eventObj.results.length; i++) {
                        xResult = eventObj.results[i];
                        reResults.text=reResults.text + xResult.matchedIndex + " " + xResult.matchedString + "\n";
                    }
                } else {
                    reResults.text = "";
                }
            }
        ]]>
    </fx:Script>

    <fx:Declarations>
        <mx:RegExpValidator id="regExpV" 
                source="{regex_text}" property="text" 
                flags="g" expression="{regex.text}" 
                valid="handleResult(event)"
                invalid="handleResult(event)"
                trigger="{myButton}"
                triggerEvent="click"/>
    </fx:Declarations>

    <s:Panel title="RegExpValidator Example"
            width="75%" height="75%"
            horizontalCenter="0" verticalCenter="0">
        <s:VGroup left="10" right="10" top="10" bottom="10">
            <s:Label width="100%" text="Instructions:"/>
            <s:Label width="100%" text="1. Enter text to search. By default, enter  a string containing the letters ABC in sequence followed by any digit."/>
            <s:Label width="100%" text="2. Enter the regular expression. By default, enter ABC\d."/>
            <s:Label width="100%" text="3. Click the Button control to trigger the validation."/>
            <s:Label width="100%" text="4. The results show the index in the text where the matching pattern begins, and the matching pattern. "/>
            <mx:Form>
                <mx:FormItem label="Enter text:">
                    <s:TextInput id="regex_text" text="xxxxABC4xxx" width="100%"/>
                </mx:FormItem>
                <mx:FormItem label="Enter regular expression:">
                    <s:TextInput id="regex" text="ABC\d" width="100%"/>
                </mx:FormItem>
                <mx:FormItem label="Results:">
                    <s:TextInput id="reResults" width="100%"/>
                </mx:FormItem>
                <mx:FormItem >
                    <s:Button id="myButton" label="Validate"/>
                </mx:FormItem>
            </mx:Form>
        </s:VGroup>
    </s:Panel>

</s:Application>