表題の件の実装を考えてみました。
タイプとしてファイル参照...が設定されているページ・アイテムでは、設定により複数のファイルを選択することができます。設定にはファイル・タイプや最大ファイル・サイズの指定は可能ですが、選択できるファイル数の上限は設定できないようです。
例えば、選択できるファイル数の上限は2までといった制限を、サーバー側ではなくブラウザ側で行いたい、というのが要件です。
そのため、ページ・アイテムの値が変更されたときに、値を":"で分割することにより選択されたファイル数の確認ができそうです。
動的アクションを作成し、以下のコードを記述しました。
let files = $v(this.triggeringElement).split(":");
if ( files.length > 2 ) {
console.log(this);
apex.message.showErrors([
{
type: "error",
location: "inline",
pageItem: this.triggeringElement.id,
message: "ファイルが多い",
unsafe: false
}
]);
}
大体、想定通りに動作するようです。
作成したアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/check-number-of-selected-files.zip
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完