| Flex 2 開発ガイド > Flex アプリケーションのユーザーインターフェイスの作成 > レイアウトコンテナの使用 > Form、FormHeading、および FormItem レイアウトコンテナ > 必須フィールドの指定 | |||
Flex は、フォームの必須入力フィールドの定義をサポートします。必須フィールドを定義するには、FormItem コンテナの required プロパティを指定します。このプロパティを指定すると、その FormItem コンテナのすべての子に必須のマークが付きます。
Flex は、FormItem のラベルと子の間に区切り記号として赤いアスタリスク (*) 文字を挿入し、必須フィールドであることを示します。たとえば、次の例では、オプションの ZIP コードフィールドと必須の ZIP コードフィールドが示されています。
次のコード例では、これらのフィールドを定義します。
<?xml version="1.0"?>
<!-- containers\layouts\FormReqField.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Form>
<mx:FormItem label="ZIP Code">
<mx:TextInput id="zipOptional"
width="100"/>
</mx:FormItem>
<mx:FormItem label="ZIP Code" required="true">
<mx:TextInput id="zipRequired"
width="100"/>
</mx:FormItem>
</mx:Form>
</mx:Application>
FormItem の子に対する必須インジケータを、実行時に有効にすることができます。これは、特定のフォームフィールドが入力されると別のフォームフィールドが必須になるようにする場合に便利です。たとえば、ユーザーがニュースレターを購読する場合に選択する CheckBox コントロールが、フォームに配置されているとします。このチェックボックスをオンにすると、ユーザーの電子メールフィールドが必須になるようにします。次に例を示します。
<?xml version="1.0"?>
<!-- containers\layouts\FormReqFieldRuntime.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Form>
<mx:FormItem label="Subscribe">
<mx:CheckBox label="Subscribe?"
click="emAddr.required=true"/>
</mx:FormItem>
<mx:FormItem id="emAddr" label="e-mail address">
<mx:TextInput id="emailAddr"/>
</mx:FormItem>
</mx:Form>
</mx:Application>
Flex は、必須フィールドを自動的に適用することはありません。フィールドに必須のマークを付けるだけです。必須フィールドを適用するには、検証ロジックをフォームに組み込む必要があります。適用ロジックの一部として、Flex バリデータを使用できます。すべての Flex バリデータは required プロパティを備え、これはデフォルトで true にされています。バリデータは、必須フィールドと検証機能をどのように適用するかによって、いくつかの方法で使用できます。詳細については、データ検証を参照してください。フォームでバリデータを使用する例については、Flex データモデルによるフォームデータの保存を参照してください。
Flex 2.01