2016-07-05 8 views
0

は私が自動的に空の文字列をチェックするために使用できるいくつかのプロパティを持っているTextInputを必須にすることはできますか?

if (myTextInput.text != "") { 
    handleEvent(); 
} 

んTextInputのようなコードの多くを持っていますか?私が設定されている場合、それは好きなように似て
:テキストが英数字の場合

<s:TextInput id="myInput" enter="myInputHandler()" restrict="A-Za-Z0-9"/> 

はその後 myInputHandler()にのみ呼び出されます。長さが0より大きいという追加の制限を追加したいと思います。

私はバリデータについて知っていますが、まだ手動で呼び出す必要があります。

答えて

3

「必要」TextInputコンポーネントを作成するには、あなたをたとえば、独自のテキスト入力コンポーネントを作成し、コントロールが必要かどうかを示すプロパティと、FocusEvent.FOCUS_OUTイベントのようないくつかのイベントリスナーを使用して、その入力に何かを入力させることができます。そのために

、この例を取る:もちろん

package myComponent 
{ 
    import flash.events.FocusEvent;  
    import spark.components.TextInput; 

    public dynamic class MyTextInput extends TextInput 
    { 
     private var _required:Boolean = false; 
     public function MyTextInput() 
     { 
      super(); 
      this.addEventListener(FocusEvent.FOCUS_OUT, on_KeyDown); 
     } 
     public function set required(required:Boolean): void { 
      this._required = required; 
     } 
     public function get required(): Boolean { 
      return this._required; 
     }  
     private function on_KeyDown(e:FocusEvent): void {   
      if(this.text == '' && this._required){ 
       this.setFocus(); 
      } 
     } 

    } 
} 

を、これは一例であり、あなたが使用することを次に...

をユーザーが空の入力を去ったとき、あなたが望む任意の動作を使用することができますその新しいコンポーネント:独自のコンポーネントを作成する方法の詳細については

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" 
       <!-- don't forget to include the namespace definition for your custom component --> 
       xmlns:MyComponent="myComponent.*"> 

    <MyComponent:MyTextInput required="true" restrict="A-Za-z0-9"/> 

</s:Application> 

は、見hereを取ります。

希望に応じることができます。

+0

私は別の日にこれを受け入れることを延期するつもりです。もし両方が見落とされている単純なものがある場合には、これは私の問題に取り組んでおり、私が探しているものです。 – JETM

0

試してみてください。

if (String(myTextInput.text).length > 0) 
{ 
    handleEvent(); 
} 

それはあなたが(余分なコマンド)必要はありませんすべてのコードだ場合は、ただ1行のようにしてください:

if (String(myTextInput.text).length > 0) { handleEvent(); } 
+0

私はOPの問題は、そのコードではありません、コード自体の繰り返しを避けるためにあると思います。 - ) – akmozo

+0

こんにちは@こまこ、なぜそれをどう思いますか?私は_ "TextInputに空の文字列を自動的にチェックするために使うことができるいくつかのプロパティを持っていますか?" _...彼らは 'IS NOT" "でチェックしていますので、' IF length bIGGER THAN 0'チェックのコードをお勧めします。これは、「長さが0より大きいという追加の制限を追加したい」_に基づいています。彼らは繰り返さないことについて何も言わなかった。私の理解は深く、彼らは**文字列の内容**の代わりに**文字列の長さ**で確認することを好む。 –

+1

こんにちは、私はOPがHTML5の '必須'のような属性を探して、ユーザーにテキストを入力させるようにしていると思っています(あるいは、少なくともtxt.text! = '' 'または' txt.length == 0' ...)... – akmozo

0

たぶん、これはあなたが「必要」フィールドを持っているのFormItem、にTextFieldを置くことができ、液の種類ではなく、

関連する問題