Flex: Borda Vermelha não aparece ao validar combobox com NumberValidator

Gente, no post anterior eu coloquei o exemplo de como se validar um combobox utilizando o NumberValidator. Aparentemente estava tudo ok, mas eu não conseguia obter a tão sonhada borda vermelha!
Além disso, eu não conseguia nunca validar o meu conteúdo. Fiz então uma caça as bruxas para achar o problema.
.a primeira coisa foi procurar no google (kkkk)! Achei algumas coisas, mas nada que resolvesse meu problema.
.defini no meu combo o parâmetro errorString. Aí a borda vermelha começou a parecer, colocando a mensagem definida no meu errorString. Mas, apesar do avanço, ainda não conseguia que meu componente fosse válido… a borda ficava eternamente..
.defini todas as strings de erro do meu NumberValidator para descobrir qual erro eu estava tendo.
<mx:NumberValidator id="languageValidator"
source="{language}"
lowerThanMinError="{resourceManager.getString('ApplicationResource','REQUIRED_FIELD')}"
property="selectedIndex"
allowNegative="true"
maxValue="1000"
domain="int"
decimalPointCountError="11111111"
exceedsMaxError="2222222"
integerError="33333333333"
invalidCharError="44444444"
invalidFormatCharsError="55555555555"
negativeError="666666666"
precisionError="77777777"
separationError="99999999999"
requiredFieldError="0000000000000000"
minValue="0" />
Pronto, descobri o problema: ele sempre me voltava erro com a mensagem “5555555555555″, ou seja, invalidFormatCharsError. O que seria esse erro? Algum parâmetro de formatação do seu NumberValidator está com problemas. (?!?)
Bem, ao incluir os seguintes parâmetros, resolvi o problema:
decimalSeparator="." thousandsSeparator="," precision="-1"
Qual a minha conclusão? Vocês podem notar que estou usando o resourceManager na minha mensagem de erro, ou seja, estou trabalhando com internacionalizaçao. Acredito eu que na mudança do locale para pt_BR, o numberValidator se perdeu. Sendo assim, meu NumberValidator final ficou:
<mx:NumberValidator id="languageValidator"
source="{language}"
lowerThanMinError="{resourceManager.getString('ApplicationResource','REQUIRED_FIELD')}"
property="selectedIndex"
allowNegative="true"
maxValue="1000"
domain="int"
decimalSeparator="{resourceManager.getString('ApplicationResource','DECIMAL_SEPARATOR')}"
thousandsSeparator="{resourceManager.getString('ApplicationResource','THOUSANDS_SEPARATOR')}"
precision="-1"
minValue="0" />
Tags:flex, flex numbervalidator, invalidFormatCharsError, numbervalidator combobox


