I love iPhone, Android, Cocos2d-x
【OpenPNE カスタマイズ】バリデーションを行う ini ファイルの書式
OpenPNE のバリデーション処理を定義する ini ファイルの書式に関するメモです。
例えば ?m=pc&a=page_hoge という URL に対するバリデーションを行うときには /openpne/webapp_ext/modules/pc/validate/page/hoge.ini というファイルを作成します。
hoge.ini ファイルには以下のようにバリデーションを定義します
[name] type = "string" required = 1 caption = "名前" [age] type = "int" required = 1 caption = "年齢" min = 18 max = 99 [tel] type = "regexp" required = 0 default = "" caption = "電話番号" regexp = "/^\d{2,4}-\d{2,4}-\d{4}$/"
指定方法をひとつづつ見ていきます。
- [] は変数名
- $_POST または $_GET で渡される名前です。
- type はデータの型
- string: 文字列
int: 数値
bool: 真偽値
regexp: 正規表現 - required は必須かどうか
- required = 0 は必須でない、required = 1 は必須
- default はデフォルト値
- required=0 の場合で値が null の場合、default の値が入る
- caption は変数の名前
- エラーメッセージに出力される
エラーメッセージもバリデーションのタイプにより自動的に合うようなエラーメッセージが出力されます - min は最小値
- type=int の場合は変数の値が min の値以上かチェック
type=string or regexp の場合は文字列の長さが min の値以上かチェック - max は最大値
- type=int の場合は変数の値が max の値以下かチェック
type=string or regexp の場合は文字列の長さが max の値以下かチェック - regexp は正規表現のパターンを指定
- type=regexp の時の preg_match のパターンに使用される
実際にバリデーションチェックをするのは
/openpne/webapp/lib/OpenPNE/Validator.php
で定義されている OpenPNE_Validator というクラスの _validate メソッドです。
仕様が分からなければこのソースを見ればだいたい分かります。
関連する投稿
3 comments
コメントをどうぞ
Additional comments powered by BackType
いつも参考にさせていただいています。
OpenPNE上でのDBからデータを拾ってくるなどの
Ajaxのサンプルなどございましたら、
是非、参考にさせていただけないでしょうか?
(prototypeが入ってますが勉強の為)jQuery,MooToolsなどを組み込んで、
例えばですが、マウスオーバー等のアクションからc_member_idを送って
requestを行うphpファイルでDBの処理させ、tipの様な形で情報をぶら下げたかったのですが、phpファイルでDB処理が行えませんでした。
db_get_one等です。
お忙しいとは思いますがよろしくお願いいたします。
morikawaさん、コメントありがとうございます。
近いうちに OpenPNE の DB へのアクセス方法などをまとめてみたいと思います。
2assessed…
…