Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   валидация текстовых полей (http://www.flasher.ru/forum/showthread.php?t=151443)

NikolyA 28.02.2011 05:59

валидация текстовых полей
 
Доброго времени

столкнулся с проблемой, есть 2 текстовых поля, это 2 компонента TextInput, один из которых labelCaption, второй labelNameInput и есть кнопка: labelBtnSave, появилась потребность сделать проверку, если в этих полях: labelCaption и labelNameInput есть данные текстовые либо числовые, значит при нажатии кнопки labelBtnSave - происходит какое либо событие (в моем случае в xml идет отсылка данных), если же нет данных в этих полях, то ничего не происходит, есть такой класс:

Код AS3:

package panels
{
 
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;
        import flash.text.TextFormat;
        import flash.text.TextFormatAlign;
        import fl.controls.TextInput;
        import fl.controls.TextArea;
        import fl.controls.Label;
 
        public class PanelTools extends Panel
        {       
                private static var defaultStyles:Object = {
                        thumbViewerBackground: "PanelAnnotations_thumbViewerBackground",
                        captionModeDownSkin: "Panel_captionModeDownSkin"
                }
 
                public static function getStyleDefinition():Object {
                        return UIComponent.mergeStyles(Panel.getStyleDefinition(), defaultStyles);
                }
 
                protected var labelNameInput:TextInput;
                protected var labelCaption:TextInput;
 
                public function PanelTools():void
                {
                        super();
                }
 
                protected function configLabel():void {                       
                        container.addChild(labelNameInput);
                        container.addChild(labelCaption);
                        labelBtnSave.addEventListener(MouseEvent.MOUSE_OVER, labelButtonsRolloverHandler, false, 0, true);
                        labelBtnSave.addEventListener(MouseEvent.MOUSE_DOWN, labelButtonsMouseDownHandler, false, 0, true);
 
                }               
 
                protected function labelButtonsMouseDownHandler(event:MouseEvent):void {
                        var btn:Button = event.target as Button;
                        switch(btn) {
                                case labelBtnColor:                       
                                        labelNameInput.enabled = false;
                                        labelCaption.enabled = false;
                                        labelBtnSave.enabled = false;
                                        labelBtnDelete.enabled = false;
                                        labelBtnCancel.enabled = false;
                                        break;
 
                                case labelBtnSave:
 
                                    //что нужно сюда вписать для проверки?
 
                                                }
 
 
                                                        default:
                                                                labelNodeEditing.@MEDIATYPE = "symbol";
                                                }
                                        }
                                        break;
                        }
                }               
        }

в case labelBtnSave, что нужно вписать чтоб была проверка

Спасибо

GBee 28.02.2011 10:16

Может хватит проверки на длину введенного текста или нужен RegExp?

Код AS3:

Если длина текста в labelCaption больше 0 и длина текста в labelNameInput больше 0, то вызываем метод сохранения, иначе показываем окошко с уведомлением.


NikolyA 28.02.2011 14:28

Цитата:

Сообщение от GBee (Сообщение 976787)
Может хватит проверки на длину введенного текста или нужен RegExp?

Код AS3:

Если длина текста в labelCaption больше 0 и длина текста в labelNameInput больше 0, то вызываем метод сохранения, иначе показываем окошко с уведомлением.


вообщем нужно что угодно, лишь бы работало :D
какой кусок кода вставить чтоб было так:
Цитата:

если в этих полях: labelCaption и labelNameInput есть данные текстовые либо числовые, значит при нажатии кнопки labelBtnSave - происходит какое либо событие
labelBtnSave - событие есть, данные текстовых полей пишутся в xml и далее из него считывает данные другое приложение и все прекрасно, вопрос с проверкой на данные введеные

in4core 28.02.2011 15:39

А вы я так понимаю совсем в AS3 ни бум бум чтоле ?

Код AS3:

if(labelCaption.text != '' && labelNameInput.text != '') { u code here }


NikolyA 28.02.2011 18:09

Цитата:

Сообщение от in4core (Сообщение 976861)
А вы я так понимаю совсем в AS3 ни бум бум чтоле ?

Код AS3:

if(labelCaption.text != '' && labelNameInput.text != '') { u code here }


ну не то что не бум бум, есть вещи которые я просто пока не допонял, поэтому и обратился за советом, или это запрещено до тех пор пока не разберусь сам?

GBee 28.02.2011 20:22

in4core, вместо того, чтобы дать человеку подумать и догадаться, вы ему разжевали и в рот положили.

Psycho Tiger 28.02.2011 20:32

Цитата:

или это запрещено до тех пор пока не разберусь сам?
Нет-нет, спрашивайте, мы Вам с радостью поможем. in4core это наша достопримечательность, не обращайте внимания.

in4core 28.02.2011 22:55

Цитата:

Нет-нет, спрашивайте, мы Вам с радостью поможем. in4core это наша достопримечательность, не обращайте внимания.
Зря выпендриваешься, я то все верно написал - человек выложил код, если он сам его писал знчит вопросов типа как пользоваться if не возникнет

Psycho Tiger 28.02.2011 23:08

Цитата:

Сообщение от in4core (Сообщение 977073)
Зря выпендриваешься, я то все верно написал - человек выложил код, если он сам его писал знчит вопросов типа как пользоваться if не возникнет

А я и не писал, что код неправильный.

NikolyA 28.02.2011 23:33

к сожалению вопрос исчерпан, спасибо in4core за подсказку, Psycho Tiger спасибо за in4core =)


Часовой пояс GMT +4, время: 09:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.