mx.validators

# StringValidator - AS3 Flex

Package | mx.validators
Class | public class StringValidator
Inheritance | StringValidator Validator EventDispatcher Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The StringValidator class validates that the length of a String is within a specified range.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

The `<mx:StringValidator>` tag inherits all of the tag attributes of its superclass, and add the following tag attributes:

      <mx:StringValidator
        maxLength="NaN"
        minLength="NaN"
        tooLongError="This string is longer than the maximum allowed length. This must be less than {0} characters long."
        tooShortError="This string is shorter than the minimum allowed length. This must be at least {0} characters long."
      />

View the examples

More examples

Enabling and disabling a validator
Validating strings

Learn more

Validating data
About the source and property properties
About triggering validation
Triggering validation by using events
Triggering validation programmatically
Validating required fields
General guidelines for validation
Working with validation errors
Working with validation events

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | enabled : Boolean Setting this value to false will stop the validator from performing validation. | Validator
|  | listener : Object Specifies the validation listener. | Validator
|  | maxLength : Object Maximum length for a valid String. | StringValidator
|  | minLength : Object Minimum length for a valid String. | StringValidator
|  | property : String A String specifying the name of the property of the source object that contains the value to validate. | Validator
|  | required : Boolean = true If true, specifies that a missing or empty value causes a validation error. | Validator
|  | requiredFieldError : String Error message when a value is missing and the required property is true. | Validator
|  | source : Object Specifies the object containing the property to validate. | Validator
|  | tooLongError : String Error message when the String is longer than the maxLength property. | StringValidator
|  | tooShortError : String Error message when the string is shorter than the minLength property. | StringValidator
|  | trigger : IEventDispatcher Specifies the component generating the event that triggers the validator. | Validator
|  | triggerEvent : String Specifies the event that triggers the validation. | Validator

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | actualListeners : Array [read-only] Contains an Array of listener objects, if any, or the source object. | Validator
|  | actualTrigger : IEventDispatcher [read-only] Contains the trigger object, if any, or the source object. | Validator
|  | resourceManager : IResourceManager [read-only] A reference to the object which manages all of the application's localized resources. | Validator
|  | subFields : Array An Array of Strings containing the names for the properties contained in the value Object passed to the validate() method. | Validator

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | StringValidator() Constructor. | StringValidator
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | initialized(document:Object, id:String):void Called automatically by the MXML compiler when the Validator is created using an MXML tag. | Validator
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent Performs validation and optionally notifies the listeners of the result. | Validator
|  | validateAll(validators:Array):Array [static] Invokes all the validators in the validators Array. | Validator
|  | validateString(validator:StringValidator, value:Object, baseField:String = null):Array [static] Convenience method for calling a validator. | StringValidator
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | addListenerHandler():void 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 String. | StringValidator
|  | getValueFromSource():Object Returns the Object to validate. | Validator
|  | handleResults(errorResults:Array):ValidationResultEvent Returns a ValidationResultEvent from the Array of error results. | Validator
|  | isRealValue(value:Object):Boolean Returns true if value is not null. | Validator
|  | removeListenerHandler():void Disconnects all of the listeners for the valid and invalid events dispatched from the validator. | Validator
|  | resourcesChanged():void 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
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | invalid | Dispatched when validation fails. | Validator
|  | valid | Dispatched when validation succeeds. | Validator

Protected Constants
Hide Inherited Protected Constants
Show Inherited Protected Constants

| Constant | Defined By
--- | --- | ---

Property Detail

### maxLength

property

`maxLength:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Maximum length for a valid String. A value of NaN means this property is ignored.

The default value is `NaN.`

Implementation
`public function get maxLength():Object`
`public function set maxLength(value:Object):void`

### minLength

property

`minLength:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Minimum length for a valid String. A value of NaN means this property is ignored.

The default value is `NaN.`

Implementation
`public function get minLength():Object`
`public function set minLength(value:Object):void`

### tooLongError

property

`tooLongError:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Error message when the String is longer than the `maxLength` property.

The default value is `"This string is longer than the maximum allowed length. This must be less than {0} characters long.".`

Implementation
`public function get tooLongError():String`
`public function set tooLongError(value:String):void`

### tooShortError

property

`tooShortError:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Error message when the string is shorter than the `minLength` property.

The default value is `"This string is shorter than the minimum allowed length. This must be at least {0} characters long.".`

Implementation
`public function get tooShortError():String`
`public function set tooShortError(value:String):void`
Constructor Detail

### StringValidator

()
Constructor

`public function StringValidator()`

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 String.

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` — An Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.

### validateString

()
method

`public static function validateString(validator:StringValidator, value:Object, baseField:String = null):Array`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Convenience method for calling a validator. Each of the standard Flex validators has a similar convenience method.

Parameters

| `validator:StringValidator` — The StringValidator instance.
| `value:Object` — A field to validate.
| `baseField:String` (default = `null`)`` — Text representation of the subfield specified in the `value` parameter. For example, if the `value` parameter specifies value.mystring, the `baseField` value is `"mystring"`.

Returns

| `Array` — An Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.

Related API Elements

mx.validators.ValidationResult
Examples How to use this example
StringValidatorExample.mxml
Copy

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Simple example to demonstrate StringValidator. -->
    <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>
            import mx.controls.Alert;
        </fx:Script>

        <fx:Declarations>
            <mx:StringValidator source="{fname}" property="text"
                    tooShortError="This string is shorter than the minimum allowed length of 4. "
                    tooLongError="This string is longer than the maximum allowed length of 20."
                    minLength="4" maxLength="20"
                    trigger="{myButton}" triggerEvent="click"
                    valid="Alert.show('Validation Succeeded!');"
                    invalid="Alert.show('Validation Failed!');"/>
        </fx:Declarations>

        <s:Panel title="StringValidator Example"
                width="75%" height="75%"
                horizontalCenter="0" verticalCenter="0">
            <mx:Form left="10" right="10" top="10" bottom="10">
                    <mx:FormItem label="Enter a name between 4 and 20 characters: ">
                        <s:TextInput id="fname" width="100%"/>
                    </mx:FormItem>
                    <mx:FormItem >
                        <s:Button id="myButton" label="Validate" />
                    </mx:FormItem>
            </mx:Form>
        </s:Panel>

    </s:Application>

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00