2014-09-01 2 views
0

В моем проекте у меня есть пользовательский ввод, первые 4 символа должны быть цифрами, а пятый символ должен быть /, есть ли способ контролировать это?Вход пользователя adobe flex должен содержать символ «/»

Я использую Adobe Flash builder 4.6. Я знаю только ограничение использования для ввода номера.

EDIT1: После выполнения решения Тимофея, я изменил мой исходный код, как следующие, но не вступили в силу, только уведомляя пользователя «Это поле обязательно». Независимо от того, что я ввел в текстовое поле, никаких предупреждений нет, это неправильно с моим кодом?

<?xml version="1.0" encoding="utf-8"?> 
<viewer:BaseWidget xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" 
       xmlns:viewer="com.esri.viewer.*" 
       right="450" bottom="175" width="320" height="450" widgetConfigLoaded="init()"> 
<fx:Script> 
    <![CDATA[      
     import mx.controls.Alert;  
     import spark.events.IndexChangeEvent; 
     import flash.events.MouseEvent; 
     import flash.events.Event; 
     import mx.managers.PopUpManager;    

     public function handleEvent():void 
     { 
      mx.controls.Alert.show("bq no input: " + attr_bqNo.text)  
     }         
    ]]> 
</fx:Script> 
<fx:Declarations> 
    <mx:RegExpValidator id="validator" expression="^\d\{4\}/" noMatchError="Error text here" source="{attr_bqNo}" property="text" 
         trigger="{attr_bqNo}" triggerEvent="change"/> 
</fx:Declarations> 
    <s:TextInput id="attr_bqNo" x="41" y="29" width="212"/> 


<viewer:WidgetTemplate id="attributesearch" 
         width="320" height="450"> 
    <viewer:layout> 
     <s:BasicLayout/> 
    </viewer:layout> 
    <s:Label x="41" y="15" width="132" height="15" text="BQ No."/>  
    <s:Label x="40" y="59" width="150" height="16" text="Contract No."/> 
    <s:TextInput id="attr_contractNo" x="41" y="73" width="213"/> 
    <s:Label x="40" y="146" text="Drain Name"/> 
    <s:TextInput id="attr_drainName" x="40" y="159" width="213"/> 
    <s:Label x="40" y="189" text="Project/Contract Title"/> 
    <s:TextInput id="attr_projectTitle" x="40" y="203" width="213"/>   
    <s:Label x="40" y="323" text="Location (Road Name)"/> 
    <s:TextInput id="attr_roadName" x="40" y="337" width="213"/> 
    <s:Button id="attr_ok" x="68" y="367" label="Ok" click = "handleEvent()"/> 
    <s:Button id="attr_clear" x="156" y="367" label="Clear"/> 

    </viewer:WidgetTemplate> 
</viewer:BaseWidget> 

ответ

6

Вы можете использовать RegExpValidator.

<fx:Declarations> 
     <mx:RegExpValidator id="validator" expression="^\d\{4\}/" noMatchError="Error text here" source="{input}" property="text" 
       trigger="{input}" triggerEvent="change"/> 
</fx:Declarations> 
<s:TextInput id="input"/> 

Example

Читайте о validators

+0

спасибо за ответ, он все еще не работает для меня, наверное, из-за моего кода выпуска. Я отправил свой код на сеанс EDIT1, пожалуйста, сообщите мне. – user30643

+0

@ user30643 К сожалению, я не вижу проблем с вашим кодом. Я заменил WidgetTemplate на форму, и она отлично работает для меня. –

+0

спасибо, что это работает со мной сейчас, просто любопытно, может использовать RegExpValidator ограничивать последние 4 числа, а последняя пятая - '/'? – user30643