the error is written on validation: "The input contains invalid characters" (invalidCharError)
By default "e" and "E" are not supported by this validator. See source and you understand it (flex is open source!).
If you want supporting scientific notaion you should extend NumberValidator.
Yeah, I know that, but why does it accept and correctly evaluate inputs with:
maxValue="5e-8" exceedsMaxError="Must be lower or equal to 5e-8" - works!
But does not accept such values? It's a bit odd.
With the validator statement above i can enter 0.00000005 and it will be valid, but I cannot enter 5e-8 which is equal the the first number and is also in the maxValue property.
var maxValue:Number = Number(validator.maxValue); // this way 1e-5 is allowed and parsed to real value.
In function validateNumber(...) value first checked to be a number. And this checking is not Number(value) - it's not always correct (as an example 5ff can be parsed as 5). So checking verify all characters in string representation (even it is a number!). An at that moment e is an invalid character.
Ah, should of thought about looking in the class for the validator.
In my oppinion this is a bug of the NumberValidator.
Thank you, Natasha!