1

filter_varは、PHPを使用したユーザー入力の検証とサニタイズに非常に役立つことがわかりましたが、ColdFusion(より具体的には、CF8)でリモートでさえ便利なものはまだ見つかりません。

明らかに、 REReplaceを使用して何かを一緒にハックすることはできますが、コード化にかなり時間がかかり、PHPで利用可能な事前定義されたフィルターを使用するよりもはるかに醜いでしょう。より効率的な方法はありますか、それとも弾丸を噛む必要がありますか?

4

1 に答える 1

3

利用できるオプションは3つあります。ユーザー入力を管理しようとしているので、フォームを使用していると思います。 isValidは機能を最もよく模倣しており、指定された値がデータ型または正規表現のいずれかに一致するかどうかを確認し、trueまたはfalseを返し、デフォルトで範囲を定義する属性を含みます。ただし、正規表現を定義する以外にカスタムの「フィルター」を作成する機能はサポートされていません。

2番目のオプションは、POST処理ページでcfparamタグを使用することです。これにより、変数の存在を指定したり、データ型に対してテストしたり、正規表現を定義したり、オプションで変数が存在しない場合はデフォルト値を割り当てたりできます。ただし、フィールドが定義されておらず、デフォルト値が割り当てられていないページを処理しようとすると、ColdFusionはエラーをスローします。

最後に、フォーム自体でcfformフィールドとcfinputフィールドを使用して検証を行うことができます。これにより、クライアント側の存在とタイプのデータ検証(サーバー側の検証もサポートされますが、実装はお粗末です)、正規表現、および入力マスキング:ユーザーが入力したデータを取得して特定の形式に準拠させる(ダッシュの追加など)ことができます電話番号と郵便番号に)。

于 2012-10-10T14:04:57.153 に答える