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

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

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の使用が推奨されているようです。

スポンサーリンク
 
スポンサーリンク