【Salesforce】Invalid selectOptions found. Use SelectOption type in Apex.

【Salesforce】Invalid selectOptions found. Use SelectOption type in Apex.

Visualforceで選択リストを表示した際、エラーが発生しました。

Invalid selectOptions found. Use SelectOption type in Apex. 

無効な選択リストオプションリストが見つかったので選択リストオプションを使ってねとのことです。

コントローラからはリストを返しているのに何故だろうとソースを見たら、原因が分かりました。

Visualforceはこんな感じです。

<apex:selectList>
  <apex:selectOption value="{!SelectOptions}" />
</apex:selectList>

コントローラはこんな感じです。

リストを返しているものの、Sringのリストになっていました。

public List<String> getSelectOptions(){

    List<String> options;
    
    // 選択リストを作成する
    options = new List<String>();
    for(Integer i = 0; i < 5; i++){

        options.add('値');
    }
    return options;
}

正しくはこうですね。

public List<SelectOption> getSelectOptions(){

    List<SelectOption> options;
    
    // 選択リストを作成する
    options = new List<SelectOption>();
    for(Integer i = 0; i < 5; i++){

        SelectOption opt = new SelectOption('ラベル', '値');
        options.add(opt);
    }
    return options;
}

ソースを読めば分かるレベルのエラーで良かったです。

https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_selectOptions.htm

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です