2008年

【OpenPNE カスタマイズ】バリデーションを行う ini ファイルの書式 このエントリーを含むはてなブックマーク

OpenPNE Add comments

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 メソッドです。

仕様が分からなければこのソースを見ればだいたい分かります。

関連する投稿

2 Responses to “【OpenPNE カスタマイズ】バリデーションを行う ini ファイルの書式”

  1. morikawa Says:

    いつも参考にさせていただいています。

    OpenPNE上でのDBからデータを拾ってくるなどの
    Ajaxのサンプルなどございましたら、
    是非、参考にさせていただけないでしょうか?

    (prototypeが入ってますが勉強の為)jQuery,MooToolsなどを組み込んで、
    例えばですが、マウスオーバー等のアクションからc_member_idを送って
    requestを行うphpファイルでDBの処理させ、tipの様な形で情報をぶら下げたかったのですが、phpファイルでDB処理が行えませんでした。
    db_get_one等です。

    お忙しいとは思いますがよろしくお願いいたします。

  2. matsuura Says:

    morikawaさん、コメントありがとうございます。
    近いうちに OpenPNE の DB へのアクセス方法などをまとめてみたいと思います。

Leave a Reply

Additional comments powered by BackType

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン