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の使用が推奨されているようです。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/455