RegExpValidator never matches

Posted by babyangel86 on Stack Overflow See other posts from Stack Overflow or by babyangel86
Published on 2010-06-05T16:33:56Z Indexed on 2010/06/05 17:12 UTC
Read the original article Hit count: 164

Filed under:
|
|
|

Hi,

I've got a class that's meant to validate input fields to make sure the value is always a decimal. I've tested the regex here: http://livedocs.adobe.com/flex/3/html/help.html?content=validators_7.html, and it looks like it does the right thing, but in my app, I can't seem to get it to match to a number format.

Class Definition:

public class DecimalValidator {
    //------------------------------- ATTRIBUTES
    public var isDecimalValidator:RegExpValidator;

    //------------------------------- CONSTRUCTORS
    public function DecimalValidator() { 
        isDecimalValidator                  = new RegExpValidator();
        isDecimalValidator.expression       = "^-?(\d+\.\d*|\.\d+)$";
        isDecimalValidator.flags            = "g";
        isDecimalValidator.required         = true;
        isDecimalValidator.property         = "text";
        isDecimalValidator.triggerEvent     = FocusEvent.FOCUS_OUT;
        isDecimalValidator.noMatchError     = "Float Expected";
    }

}

Setting the source here:

public function registerDecimalInputValidator(inputBox:TextInput, valArr:Array):void  {
        // Add Validators
        var dValidator:DecimalValidator = new DecimalValidator();
        dValidator.isDecimalValidator.source = inputBox;
        dValidator.isDecimalValidator.trigger = inputBox;

        inputBox.restrict = "[0-9].\\.\\-";
        inputBox.maxChars = 10;

        valArr.push(dValidator.isDecimalValidator);
    }

And Calling it here:

registerDecimalInputValidator(textInput, validatorArr);

Where textInput is an input box created earlier.

Clearly I'm missing something simple yet important, but I'm not entirely sure what! Any help would be much appreciated.

© Stack Overflow or respective owner

Related posts about regex

Related posts about flex