パラメータ (変数) が存在するかどうかをテストし、そのデータを検証し、デフォルト値が割り当てられていない場合は必要に応じて割り当てます。
<cfparam
name = "param_name"
type = "data_type"
default = "value"
max = "value"
min = "value"
pattern = "regular expression">
cfcookie、cfregistry、cfsavecontent、cfschedule、cfset、『ColdFusion MX 開発ガイド』のデータの検証のIsValid 関数および cfparam タグによるデータの検証
ColdFusion MX 7:
min、max、および pattern の各属性が追加されました。
type 属性の creditcard、email、eurodate、float、integer、range、regex、regular_expression、ssn、social_security_number、time、URL、USdate、および zipcode の各属性が追加されました。
| 属性 |
必須/ オプション |
デフォルト | 説明 |
|---|---|---|---|
|
name |
必須 |
|
テストするパラメータ (変数) の名前です ("Client.Email " や "Cookie.BackgroundColor " など)。省略すると、パラメータが存在しない場合はエラーが発生します。 |
|
type |
オプション |
any |
有効なデータの形式です。次のいずれかです。検証アルゴリズムに関する情報の詳細については、『ColdFusion MX 開発ガイド』のデータの検証の非表示フィールドによるフォームデータの検証を参照してください。
|
|
default |
オプション |
|
パラメータが存在しない場合に、パラメータに設定する値です。パラメータが存在する場合でも、default 属性に対して任意の式が評価されます。パラメータが存在する場合、式の結果は割り当てられません。ただし、その場合でも式が副次的な効果を持つときは、その効果は発生します。 |
|
max |
オプション |
|
最大有効値です。 |
|
min |
オプション |
|
最小有効値です。 |
|
pattern |
オプション |
|
パラメータ表記の基準となる JavaScript 正規表現です。 |
このタグを使用すると、次のテストを実行できます。
name 属性のみと共に使用します。変数が存在しない場合、ColdFusion MX ではページの処理が中止され、エラーが返されます。
name 属性および type 属性と共に使用します。変数が存在しないか、変数の値が指定したタイプでない場合は、エラーが返されます。
name 属性および default 属性と共に使用します。変数が存在しない場合は、変数が作成され、default 属性の値に設定されます。変数が存在する場合は、処理が継続されます。値は変更されません。
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