Dec12th

apex:inputField

Top / apex:inputField

入力コンポーネントを使用する
ユーザからの入力を受け取るためには、apex:form タグを利用し、その中に入力コンポーネントを記述します。
フォームの送信には apex:commandLink あるいは apex:commandButton タグが利用できます。

入力コンポーネントとして最も多く用いられるのが apex:inputField タグです。

このタグはオブジェクトの項目の型情報を利用して、適切な入力ウィジットを描画します。
たとえば、日付型項目に対して apex:inputField を使用すると日付選択カレンダーがフォーム内に表示されますし、
選択リスト項目に対して使用するとドロップダウンリストが代わりに表示されます。

apex:inputField タグはすべての標準&カスタムオブジェクトの項目に対して利用でき、
そしてその項目に定義されているメタデータ情報、つまり必須条件や一意制約、
ユーザが参照あるいは編集権限を持っているかといった情報に従って適切にレンダリングを行います。

apex:page standardController="Account">

   <apex:form>
        <apex:pageBlock title="Hello {!$User.FirstName}!">
           You are viewing the {!account.Name} account. <p/>
           Change Account Name: <p/>
           <apex:inputField value="{!account.Name}"/> <p/>
           <apex:commandButton action="{!save}" value="Save New Account Name"/>
        </apex:pageBlock>
   </apex:form>

/apex:page>

上の例では以下の点に注意してください

apex:inputField タグは取引先の取引先名(Name)フィールドに value 属性を通して結び付けられています。
これはページ内に項目の値を表示したときと同じ表現方法です。