カスタム クエリストリング パラメーターが許可されるフォームの構成

クエリ文字列で Web ページに値を渡すことができるため、セキュリティ上の懸念があります。 モデル駆動型アプリは、クエリ文字列として渡されたパラメータを、想定されるパラメータ名やデータ型のリストと常に比較するベストプラクティスが適用されます。

モデル駆動型アプリは、既定でクエリ文字列の所定のパラメーター セットをフォームに渡すことを許可します。 アプリケーション内で新しいレコードを作成するときは、これらのパラメーターを使用して既定値を設定します。 各パラメータには、列の論理名への参照を含む標準的な命名規則を使用する必要があります。 詳細については、フォームに渡すパラメーターを使用して列を設定する を参照してください。

アプリケーションでカスタム クエリの文字列パラメーターをフォームに渡す場合があります。 この記事では、特定のエンティティ フォームで受け付けられる特定のパラメーターの名前およびデータ型のセットを定義する方法を説明します。

許可されるクエリ文字列パラメーターの定義

フォームに受け付けられるクエリ文字列パラメーターを指定する方法は 2 つあります。

  • フォーム プロパティの編集

  • フォーム XML の編集

フォーム プロパティの編集

エンティティ フォームを編集する際に、フォームグループのホームタブで、フォームのプロパティを選択します。 フォームのプロパティダイアログ ボックスで、パラメータータブを選択します。

このタブで、フォームが許可する名前とデータ型を変更します。

FormXml の編集

エクスポートしたソリューション ファイル customizations.xml 内で、フッター要素の直後に <formparameters> 要素を追加します。 この <formparameters> 要素に <querystringparameter> 要素を追加して、許可するパラメーターを指定します。

以下に、querystringparameter 要素のパラメーターの nametype について説明します。

  • name。 個々の名前列に少なくとも 1 つの下線 ('_') を含める必要があります。ただし、クエリ文字列のパラメーター名を下線で開始することはできません。 名前の先頭に "crm_" を付けることもできません。 命名規則のとおり、ソリューション発行者のカスタマイズ接頭辞を使用することを強くお勧めします。 また、名前 (querystringparameter 名) をテーブルの列の名前と同じにしないことをお勧めします。 たとえば、"myISV_contact_specialvalue" は querystringparameter の名前として有効です。

    重要

    querystringparameter 要素名が一意でない場合、データ型の異なる別のパラメーター定義で上書きされることがあります。

  • Type。 データ型の値をパラメーター値と一致させてください。そうすれば、無効な値がパラメーターで渡されることはなくなります。 以下は、有効なデータ型です。

    • Boolean

    • 日時

    • Double

    • EntityType

    • 整数

    • Long

    • PositiveInteger

      注意

      PositiveInteger は有効な値の範囲に "0" を含みます。

    • SafeString

    • UniqueId

    • UnsignedInt

関連項目

フォームに渡すパラメーターを使用して列値を設定する
フォームやビューを URL で開く

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。