apex:inputField

Salesforce オブジェクトの項目に対応する値の HTML 入力要素です。<apex:inputField> コンポーネントは、項目が必須であるかまたは一意であるかどうかなどの関連項目の属性、およびユーザーからの入力を取得するために表示するユーザーインターフェースウィジェットを考慮します。たとえば、指定された <apex:inputField> コンポーネントが日付項目である場合、カレンダー入力ウィジェットが表示されます。<apex:pageBlockSection> で使用されている場合、<apex:inputField> タグは対応する出力ラベルと一緒に自動的に表示されます。

このタグを含む DOM イベントを使用する場合は、次の点を考慮してください。
  • 参照項目では、マウスイベントがテキストボックスおよび画像アイコンの両方で実行される。
  • 複数選択リストでは、すべてのイベントが実行される。ただし、左ボックスには _unselected、右ボックスには _selected、および画像アイコンには _right_arrow および _left_arrow という接尾辞が DOM ID に付けられます。
  • リッチテキストエリアでは、イベントは実行されない。
注意:
  • 参照のみの項目、および Event.StartDateTimeEvent.EndDateTime などの複雑な自動動作が含まれる特定の Salesforce オブジェクトの項目は <apex:inputField> の使用時には編集可能として表示されません。代わりに、<apex:inputText> など他の入力コンポーネントを使用してください。
  • セキュリティ上の制約により、リッチテキストエリア項目の <apex:inputField> コンポーネントは、Site.com サイトまたは Lightning Platform サイトでの画像アップロードには使用できません。このどちらかのコンテキストで、ユーザーが画像ファイルをアップロードできるようにするには、<apex:inputFile> コンポーネントを使用します。
  • [設定] で項目にカスタムヘルプが定義されている場合、その項目は <apex:pageBlock> または <apex:pageBlockSection> の子である必要があり、Visualforce ページにカスタムヘルプを表示するためには Salesforce のページヘッダーを表示する必要があります。カスタムヘルプの表示を上書きするには、<apex:pageBlockSectionItem> の本文の <apex:inputField> を使用します。

このコンポーネントでは、「html-」プレフィックスを使用した HTML パススルー属性がサポートされています。パススルー属性は、生成された <input> タグに適用されます。

1<!-- For this example to render fully, associate the page
2with a valid account record in the URL.
3For example: https://Salesforce_instance/apex/myPage?id=001D000000IRt53 -->
4
5<apex:page standardController="Account">
6    <apex:form>
7        <apex:pageBlock title="My Content" mode="edit">
8            <apex:pageBlockButtons>
9                <apex:commandButton action="{!save}" value="Save"/>
10            </apex:pageBlockButtons>
11            <apex:pageBlockSection title="My Content Section" columns="2">
12                <apex:inputField value="{!account.name}"/>
13                <apex:inputField value="{!account.site}"/>
14                <apex:inputField value="{!account.type}"/>
15                <apex:inputField value="{!account.accountNumber}"/>
16            </apex:pageBlockSection>
17        </apex:pageBlock>
18    </apex:form>
19</apex:page>

属性

属性名 属性型 説明 必須かどうか API バージョン 通用範囲
id String ページの他のコンポーネントが inputField コンポーネントを参照できるようにする識別子。 10.0 グローバル
ignoreEditPermissionForRendering Boolean true に設定すると、オブジェクトに対する通常の権限で編集が許可されていない場合であっても、ユーザーが項目を編集できます。この上書きによってすべてのユーザーが影響を受けますが、この上書きはゲストユーザーを対象としています。この属性は、without sharing モードのカスタムコントローラーでのみ機能します。

ユーザーは、エンティティ参照権限と、オブジェクトへの項目レベルのセキュリティ参照アクセス権を持っている必要があります。

この属性では、エンティティ編集権限および項目レベルセキュリティの編集チェックをバイパスするため、この属性が含まれる <apex:inputField> を使用するすべてのフォーム項目を編集できます。この属性を使用している場合に項目を検証するか編集アクセスをブロックするには、ページのカスタム Apex コントローラーで追加のチェックを使用します。

デフォルト設定からのこの変更により、認証されていないユーザーにデータが漏洩した場合でも Salesforce は責任を負わないものとします。

警告

49.0 グローバル
label String 項目に表示されるデフォルトのラベルを上書きできるテキスト値。ラベルはフォームにラベルを表示しない空の文字列に設定することができます。null に設定すると、エラーになります。 23.0
list Object 入力項目に関連付けられた HTML <datalist> ブロックに追加するオートコンプリート値のリスト。

list 属性は、カンマ区切りの静的文字列または Visualforce 式として指定されます。式は、カンマ区切り文字列またはオブジェクトのリストに解決できます。リスト要素には任意のデータ型を設定できますが、その型は、Apex 言語機能として、または toString() メソッドを介して、文字列に変換できる必要があります。

29.0
onblur String onblur イベントが発生した場合 (フォーカスが項目から離れた場合) に呼び出される JavaScript。 12.0 グローバル
onchange String onchange イベントが発生した場合 (ユーザーが項目のコンテンツを変更した場合) に呼び出される JavaScript。 12.0 グローバル
onclick String onclick イベントが発生した場合 (ユーザーが項目をクリックした場合) に呼び出される JavaScript。 12.0 グローバル
ondblclick String ondblclick イベントが発生した場合 (ユーザーが項目をダブルクリックした場合) に呼び出される JavaScript。 12.0 グローバル
onfocus String onfocus イベントが発生した場合 (フォーカスが項目にある場合) に呼び出される JavaScript。 12.0 グローバル
onkeydown String onkeydown イベントが発生した場合 (ユーザーがキーボードのキーを押した場合) に呼び出される JavaScript。 12.0 グローバル
onkeypress String onkeypress イベントが発生した場合 (ユーザーがキーボードのキーを押したか、押したままにした場合) に呼び出される JavaScript。 12.0 グローバル
onkeyup String onkeyup イベントが発生した場合 (ユーザーがキーボードのキーを放した場合) に呼び出される JavaScript。 12.0 グローバル
onmousedown String onmousedown イベントが発生した場合 (ユーザーがマウスボタンをクリックした場合) に呼び出される JavaScript。 12.0 グローバル
onmousemove String onmousemove イベントが発生した場合 (ユーザーがマウスポインターを移動した場合) に呼び出される JavaScript。 12.0 グローバル
onmouseout String onmouseout イベントが発生した場合 (ユーザーが項目からマウスポインターを移動した場合) に呼び出される JavaScript。 12.0 グローバル
onmouseover String onmouseover イベントが発生した場合 (ユーザーがマウスポインターを項目に重ねた場合) に呼び出される JavaScript。 12.0 グローバル
onmouseup String onmouseup イベントが発生した場合 (ユーザーがマウスボタンを放した場合) に呼び出される JavaScript。 12.0 グローバル
onselect String onselect イベントが発生した場合 (ユーザーがこの項目に関連付けられているチェックボックスを選択した場合) に呼び出される JavaScript。 12.0 グローバル
rendered Boolean コンポーネントをページに表示するかどうかを指定する boolean 値。指定されていない場合、この値はデフォルトの true に設定されます。 10.0 グローバル
required Boolean この inputField が必須項目であるかどうかを指定する boolean 値。true に設定されている場合、この項目の値を指定する必要があります。選択されていない場合、この値はデフォルトの false に設定されます。

この入力項目でカスタム��ブジェクト名を表示する場合、この属性が true に設定されていない限り、その値は nil に設定することができ、必須ではありません。これは標準オブジェクト名には適用されません。標準オブジェクト名はこの属性に関係なく常に必須です。

10.0 グローバル
showDatePicker Boolean この項目に Visualforce の日付ピッカーを使用するのか、抑制してブラウザーベースの日付ピッカーを使用するのかを指定します。

この属性は、日付項目と日時��目にのみ影響します。データ型に適したブラウザーベースの選択ウィジェットを有効にするには、日付または時刻と互換性のある次のいずれかのデータ型に type 属性を設定する必要があります。

  • date
  • datetime
  • datetime-local
  • month
  • week
  • time
29.0
style String inputField コンポーネントの表示に使用される CSS スタイル。この属性を設定できない値もあります。テキストにクラス名が必要な場合は、ラップ用 span タグを使用します。 12.0 グローバル
styleClass String inputField コンポーネントの表示に使用される CSS スタイルクラス。この属性を設定できない値もあります。テキストにクラス名が必要な場合は、ラップ用 span タグを使用します。 12.0 グローバル
taborderhint Integer ユーザーが Tab キーを繰り返し押したときに、他のページコンポーネントと比較して、この項目が選択される相対的な順序を示すヒント。この値は、ユーザーが Tab キーを押したときに選択される最初のコンポーネントを 1 として、1 ~ 3276 の整数である必要があります。 23.0
type String 生成された <input> 要素に追加される HTML5 type 属性。有効な type 値は、次のとおりです。
  • auto
  • date
  • datetime
  • datetime-local
  • month
  • week
  • time
  • email
  • number
  • range
  • search
  • tel
  • text
  • url
29.0
value Object この inputField に関連付ける Salesforce 項目を参照する式。たとえば、取引先の名前項目の入力項目を表示する必要がある場合は、value="{!account.name}" を使用します。

組織が期間指定換算レートを使用している場合は、inputField を currency 型の数式項目に関連付けることはできません。

10.0 グローバル