Проблема с валидатором Flex - PullRequest
0 голосов
/ 13 января 2011

Я работаю с Flex 3.5, и у меня проблема с валидатором. У меня есть поле, которое динамически имеет o не имеет назначенного валидатора, проблема в том, что в определенный момент поле не имеет назначенного валидатора, но textInput имеет красную рамку.

Я не знаю, что мне нужно, чтобы убрать красный маркер?

Вот пример моего валидатора:

Это валидатор:

<mx:CreditCardValidator id="ccV" 
        cardTypeSource="{cardTypeCbx.selectedItem}"  
        cardTypeProperty="data"
        cardNumberSource="{ccNumberTextInput}"  
        cardNumberProperty="text" required="true"/>

У меня есть textInput с именем ccNumberTextInput и комбо с именем cardTypeCbx

Когда мне нужно установить валидатор:

validatorArr = new Array();
validatorArr.push(ccV);
validateForm();

А когда мне это не нужно:

validatorArr = new Array();
validateForm();

Функция validateForm:

private function validateForm():void
{
    var validatorErrorArray:Array = Validator.validateAll(validatorArr);
    isFormValid = validatorErrorArray.length == 0;
}

И у меня есть кнопка, которая была включена или отключена, потому что она имеет привязку с логическим значением var isFormValid.

Самое странное, что при удалении валидатора кнопка становится активной, но красная граница все еще находится в textInput.

Спасибо заранее.

1 Ответ

0 голосов
/ 14 января 2011

Вместо того, чтобы модифицировать массив с помощью валидаторов, вы должны включать / отключать каждый валидатор, когда вам это тоже нужно.Поскольку связь между валидатором и проверяемым компонентом все еще существует, даже если в вашем массиве нет всех валидаторов.Затем могут произойти две вещи: либо предыдущая проверка останется, либо другая может быть вызвана этой привязкой.

См. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/validators/Validator.html?filter_flex=4.1&filter_flashplayer=10.1&filter_air=2#enabled для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...