cfparam

説明

パラメータ (変数) が存在するかどうかをテストし、そのデータを検証し、デフォルト値が割り当てられていない場合は必要に応じて割り当てます。

カテゴリ

変数操作タグ

シンタックス

<cfparam
name = "param_name"
type = "data_type"
default = "value"
max = "value"
min = "value"
pattern = "regular expression">

関連項目

cfcookiecfregistrycfsavecontentcfschedulecfset、『ColdFusion MX 開発ガイド』のデータの検証IsValid 関数および cfparam タグによるデータの検証

ヒストリ

ColdFusion MX 7:

属性

属性 必須/
オプション
デフォルト 説明

name

必須

 

テストするパラメータ (変数) の名前です ("Client.Email " や "Cookie.BackgroundColor " など)。省略すると、パラメータが存在しない場合はエラーが発生します。

type

オプション

any

有効なデータの形式です。次のいずれかです。検証アルゴリズムに関する情報の詳細については、『ColdFusion MX 開発ガイド』のデータの検証非表示フィールドによるフォームデータの検証を参照してください。

  • any: 任意のタイプの値
  • array: 値の配列
  • binary: バイナリ値
  • boolean: ブール値 (yes、no、true、false、または数値)
  • creditcard: mod10 アルゴリズムに準拠する 13 ~ 16 桁の数値です
  • date or time: 日付時刻値
  • email: 有効な電子メールアドレス
  • eurodate: 日付時刻値いずれの日付の部分も dd/mm/yy の形式でなければなりません。この形式では、区切り文字として /、-、または . を使用できます。
  • float or numeric: 数値
  • guid: Universally Unique Identifier (ユニバーサル固有識別子) です。形式は "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" で、'X' は 16 進数です。
  • integer: 整数
  • query: クエリーオブジェクト
  • range: 数値の範囲です。min 属性と max 属性で指定します。
  • regex または regular_expression: 入力内容を pattern 属性と照合します。
  • ssn または social_security_number: 米国の社会保障番号
  • string: 文字列値または 1 つの文字
  • struct: 構造体
  • telephone: 米国の標準の電話番号
  • URL: http、https、ftp、file、mailto、または news の URL
  • UUID: ColdFusion Universally Unique Identifier (ユニバーサル固有識別子)。形式は 'XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXX' で、'X' は 16 進数です。CreateUUIDを参照してください。
  • USdate: mm/dd/yy 形式の米国の日付。日および月は 1 ~ 2 桁、年は 1 ~ 4 桁です。
  • variableName: ColdFusion 変数のネーミング規則に従った形式の文字列
  • xml: XML オブジェクトと XML 文字列
  • zipcode: 米国の 5 桁または 9 桁形式の郵便番号

default

オプション

 

パラメータが存在しない場合に、パラメータに設定する値です。パラメータが存在する場合でも、default 属性に対して任意の式が評価されます。パラメータが存在する場合、式の結果は割り当てられません。ただし、その場合でも式が副次的な効果を持つときは、その効果は発生します。

max

オプション

 

最大有効値です。range の検証の場合にのみ使用します。

min

オプション

 

最小有効値です。range の検証の場合にのみ使用します。

pattern

オプション

 

パラメータ表記の基準となる JavaScript 正規表現です。regex または regular_expression の検証の場合にのみ使用します。

使用方法

このタグを使用すると、次のテストを実行できます。

type 属性に variableName を指定した場合、パラメータの値は ColdFusion 変数ネーミング規則に沿った文字列にする必要があります。つまり、文字、アンダースコア (_)、または Unicode 通貨記号で始まり、文字、数字、アンダースコア、ピリオド、Unicode 通貨記号のみを含む文字列を使用する必要があります。ColdFusion は、そのパラメータ値が既存の ColdFusion 変数に対応するかどうかをチェックしません。

ヒント: パフォーマンスを向上させるには、CFC メソッドを含めて、ColdFusion 関数に cfparam タグを使用しないようにします。代わりに、CFML ページの本文に cfparam タグを配置します。

<!--- この例では、CFPARAM を使用してページの変数のデフォルト値を定義する方法を
   示します。 --------> 
<cfparam name = "storeTempVar" default = "my default value">
<cfparam name = "tempVar" default = "my default value">

<!--- form.tempVar が渡されたかどうかをチェックします。 --->
<cfif IsDefined("form.tempVar") is "True">
   <!--- form.tempVar が空白でないかどうかをチェックします。 --->
   <cfif form.tempVar is not "">
      <!--- form.tempVar が空白でなければ、tempVar を form.tempVar の値に設定します。 --->
      <cfset tempVar = form.tempVar>
   </cfif>
</cfif>

<body>
<h3>cfparam の例</h3>
<p>IsDefined などの関数を使用して開発者が変数の存在を確認する 
必要がないようにするには、cfparam を使用してデフォルト値を設定します。

<p>tempVar のデフォルト値は、 
   "<cfoutput>#StoreTempVar# </cfoutput>" です。

<!--- tempVar がまだ StoreTempVar と同じ値であり、
tempVar が空白でないことをチェック --->
<cfif tempVar is not #StoreTempVar#
   and tempVar is not "">
      <h3>tempVar の値が変更されました。新しい値は
      <cfoutput>#tempVar#</cfoutput></h3>
</cfif>

<p>
<form action = "cfparam.cfm" method = "post">
   tempVar の新しい値を入力し、[送信] をクリックしてください。<br>
   <input type = "Text" name = "tempVar">
   <input type = "Submit" name = "" value = "送信">
</form>

ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7