Повторяется сообщение об ошибке валидатора Flex 3.5 - PullRequest
0 голосов
/ 26 августа 2010

У кого-нибудь есть идеи, почему сообщение об ошибке повторяется в Flex SDK 3.5 (но не в 3.4), и есть хороший способ заставить его перестать повторяться?Смотрите скриншоты:

alt text

alt text

Вы также можете увидеть различные приложения здесь:

http://www.flexdevelopers.com/examples/validator/3.4/Tester.html

http://www.flexdevelopers.com/examples/validator/3.5/Tester.html

[Просмотр источника включен в обоих приложениях]

Чтобы это произошло, оставьте поле textInput пустым и несколько раз нажмите «Сохранить».Затем наведите курсор на текстовое поле ввода.

Я могу придумать пару решений, но они кажутся довольно забавными.

Спасибо,

Джереми Митчелл

1 Ответ

2 голосов
/ 20 декабря 2010

Вот хак, чтобы исправить это в 3.5.

Просмотреть источник этого файла: http://www.flexdevelopers.com/examples/validator/3.5/Tester.html

Измените метод saveMessage () следующим образом:

public function saveMessage(event:Event):void
        {
            setupValidators();

            var failedValidations:Array = new Array();
            failedValidations = Validator.validateAll(_formValidators);

            if (failedValidations.length == 0)
            {
                Alert.show("save it");
            }
            else
            {
                for each (var validationResultEvent:ValidationResultEvent in failedValidations)
                {
                    hackForSDK35Bug22911ToRemoveRepeatingErrorMessages(validationResultEvent);
                }
            }
        }

затем добавьте этот метод:

private function hackForSDK35Bug22911ToRemoveRepeatingErrorMessages(failedValidation:ValidationResultEvent):void
        {
            var uiComponent:UIComponent = failedValidation.target.source as UIComponent;
            var errorString:String = uiComponent.errorString as String;
            uiComponent.errorString = errorString.split("\n")[0];
        }

, который должен удалить повторяющиеся сообщения об ошибках и оставить только одно ...

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