ColdFusionでフォームの作成 4/6
間が空いてしまいましたが、前回に引き続き中編-2ということで、「予期しない入力に対する対応」を考えたいと思います。
前回指摘したように、CFINPUTタグのrequired評価ではスペースを文字として認識してしまう為、結果として送られてくるデータには意味の無いスペースのみになり、利用価値がなくなってしまいます。
そこで、trim関数を使ことにより、変数に代入された値の前と後ろのスペースを削除できます。
修正を加えるのは、前回作成した<CFIF IsDefined("FORM.myName")>の部分で、ここにtrim関数を利用した文字が入力されているかどうかの評価式を追加します。
<CFIF IsDefined("FORM.myName") AND trim(FORM.myName) NEQ "">
これで、FORM.myNameの存在を評価し、存在した場合次の変数FORM.myNameの前後のスペースを削除後文字が存在しているかを評価します。
ここで文字が存在した場合に初めて、入力された文字を表示します。
現在のCFMはこうなっています。
<CFIF IsDefined("FORM.myName") AND trim(FORM.myName) NEQ "">
<CFOUTPUT>#FORM.myName#</CFOUTPUT>
<CFELSE>
<CFFORM action="#CGI.SCRIPT_NAME#" method="post">
<CFINPUT name="myName" type="text" size="20" maxlength="30" required="yes" message="名前を入力してください">
<INPUT type="submit" value="送信">
</CFFORM>
</CFIF>
しかし、まだ落とし穴があったのです。
この解決方はまた次回。
【予告】
次回はスペースは半角だけではなかった。
◇この記事が参考になりましたらこちらをクリック ≫ 人気blogランキング
◇「『うぇっぶ』のはなし」へのコメント募集中 ≫ ビジネスブログランキング100選
| 固定リンク
|
「ColdFusion」カテゴリの記事
- 久々のプログラミングは「つらい」(2004.04.08)
- ColdFusionってなにさ? 1/2(2004.04.10)
- ColdFusionってなにさ? 2/2(2004.04.11)
- ColdFusionでフォームの作成 1/6(2004.04.13)
- ColdFusionでフォームの作成 2/6(2004.04.14)



コメント