OpenPNEのリクエスト変数とバリデーション処理

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

validate(バリデーション)

バリデーション(データが有効かどうかを調べる処理)に関しては、まだ調査中ですが分かったものだけ。

webapp/modules/pc/validate/page

validate ディレクトリというものがあり、ここにはクエリパラメータで渡されるクエリのキー名と値の条件を記述します。
クエリで渡されたパラメータのバリデーション設定。

------------
[id]
type = "int"
required = 1
------------

と書いたら、クエリのキー名は"id"で、値は、type = "int"(データ型)、required = 1(必須、0なら必須でない)となる。
つまり、「?id=hoge」というクエリに対して、バリデーション設定ということになります。
hogeは、int(数値)で、かつ必須でなければならない、という意味です。
validateディレクトリでのバリデーションは最低限のものであり、do(モデル)のページでバリデーション処理をハードコーディングしてあるファイルもあるので、状況に応じて自力で書き足す必要がありそうです。


$request(リクエスト変数)

クエリパラメータで渡されたデータ(GET, POST両方)ともに、$request["id"]として受け取れます。
上記の、validateディレクトリにファイルを作ると、この$requestの配列要素でアクセスできるようになります。
page, do のコントローラ、モデル、両方で使えるのでこれは便利です。
汚染された外部入力を使わないためにも、$_GETや$_POSTなどのスーパーグローバル変数は使わずに、$requestの使用が推奨されているようです。


日時: 2008年12月15日 14:15
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/455

この記事にトラックバックされる方は、参照先が分かるようにするために、「OpenPNEのリクエスト変数とバリデーション処理」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - ウェブライフハック