2008/10/22 水曜日

Mac OS XのマシンをサーバーにしてMantisをインストール

カテゴリー: — penguin @ 17:16:11

マシンを内輪のみ公開のサーバーとして動かした場合。
簡単なメモ的記事。

1. MySQLを入れる
場所 /usr/local/bin/mysql

2. マシンのIPを固定

3. システム環境設定で、web共有の機能をオンにする。
リモートログインとかもオンにすると別のマシンからSSH2でログイン出来る。ポートは22

4. /etc/apache2/httpd.conf内
LoadModule php5_module        libexec/apache2/libphp5.so
の頭についてる#を削除し、Apacheを再起動。PHPを有効にする

5. http://www.avant-tokyo.com/linux/mysql_character_set.html
を参考にデータベースの文字コードをUTF8で統一

6. Mantisをダウンロードし、~/Sites/内にmantisディレクトリを作って展開。
http://~~~~~/~(user名)/mantis/admin/install.php
にアクセス、指示に従ってMantisをインストール

7. ~/Sites/mantis/config_inc.phpに
$g_default_language = ‘auto’;
を追加。ファイルがない場合は config_inc.php.sampleを複製し、config_inc.phpとして編集

8. Mantisに user:administrator/pass:root でログイン。Happy end

文字化けしたら、いったんデータベースを削除して、データベースの文字コードの設定を確認してから再インストール。

2008/10/1 水曜日

CakePHP1.2でvalidation

カテゴリー: CakePHP — benton @ 18:05:58

CakePHP1.2でフォーム入力値のvalidation。

モデルの$validateに検証ルールを設定しておいて、エラーの場合そのエラーに対応する文字列をビューで出そうと思ったんですが、かなり苦戦しました。本やサイトに書いてあることをやってもどうもうまくいかない。

試行錯誤の末、こんな感じでうまくいくことがわかりました。

modelの$validateで検証ルール(複数)を設定。

var $validate = array(
‘login_id’ => array(
‘rule1′ => array(
‘rule’ => ‘alphaNumeric’, // 英数字のみ
‘on’ => null, // 検証ルールを常時実行
‘message’ => ‘ログインIDは英数字のみで入力してください。’ // エラーメッセージ
),
‘rule2′ => array(
‘rule’ => array(’minLength’, 4),
‘on’ => null,
‘message’ => ‘ログインIDは4文字以上で入力してください。’
),
‘rule3′ => array(
‘rule’ => array(’maxLength’, 16),
‘on’ => null,
‘message’ => ‘ログインIDは16文字以下で入力してください。’
),
‘rule4′ => array(
‘rule’ => VALID_NOT_EMPTY,
‘on’ => null,
‘message’ => ‘ログインIDを入力してください。’
)
)
);

controllerでvalidateErrorsを使う。

// Userモデルのvalidationチェック
$this->User->set($this->data);
$errors = $this->validateErrors($this->User);
// エラーがあればログイン画面へ
if (!empty($errors)) {
$this->render(”login”);
return;
}

viewで$form->errorを使う。

echo $form->text(”User.login_id”);
echo $form->error(”User.login_id”);

HTML convert time: 0.655 sec. Powered by WordPress ME