Posts tagged cakephp1.2

CakePHP1.2 SimpleTest 値を検証する assert?メソッド

2

SimpleTest で使用する値を検証する assert?メソッド

assertTure

boolean assertTrue(boolean $result, [string $message])
$result が true か
(続きを読む…)

CakePHP 1.2 RC1 リリース!

1

Release: Pure Cake Power in RC1 | The Bakery, Everything CakePHP : Articles

CakePHP 1.2 RC1 がリリースされましたね。早速試してみたいと思います。

Finally – CakePHP 1.2 RC1 is out! ? Debuggable Ltdによると

800++ commits
100++ bug fixes
tons of security and feature additions

だそうです。

CakePHP1.2 SimpleTest でテストケースを作成する

6

CakePHP1.2 に SimpleTest をインストール で SimpleTest をインストールするところまでやったので、今度は実際にテストケースを作成してみます。

空のテストケースを作成する

app/test/cases/models に user.test.php を作成して以下のコードで保存する。

<?php
class UserTest extends User {
}
?>

(続きを読む…)

CakePHP1.2 で追加されるコンポーネントの3つのコールバック関数

1

New callback methods for components – cakebaker によると次にリリースされる CakePHP1.2 ではコンポーネントに3つのコールバック関数が追加されるようです。

beforeRender()

view のレンダリングの前、コントローラの beforeRender() メソッドの後に呼ばれる。

public function beforeRender($controller) {
}

(続きを読む…)

CakePHP1.2 に SimpleTest をインストール

2

CakePHP1.2 では SimpleTest を使用したユニットテストが行えます。

テスト実行用スクリプトは app/webroot/test.php です。ブラウザからこのスクリプトへアクセスします。
test suite
(続きを読む…)

CakePHP1.2 「新規時のみ」or「更新時のみ」のバリデーション指定

0

CakePHP1.2 からバリデーションがかなり強力になっていますが、レコードを追加するときまたはレコードを更新するときのみにバリデーションルールを適用する指定方法がありました。

var $validate = array(
        'name' => array(
            'required' => true,
            'allowEmpty' => false,
            'on' => 'update'
            'message' => '名前を入力してください',
            ),
        );

(続きを読む…)

CakePHP1.2 で追加される3つのバリデーション

1

次に公開される CakePHP 1.2 に3つのバリデーションが追加されるようです。
Three new validation rules – cakebaker

真偽値か

var $validate = array('is_enabled' => array('rule' => array('boolean')));

(続きを読む…)

CakePHP1.2 安定版がもうすぐ出るようです

1

CakePHP 1.2 stable coming soon | The Bakery, Everything CakePHP : Articles

The CakePHP team is gearing up to finally push out a stable 1.2 release! If you are following the trac timeline you can see that everybody is putting in huge amounts of work to fix bugs and get everything stable.

(続きを読む…)

CakePHP 1.2 Form ヘルパーで input タグとエラーメッセージを別々に表示する方法

2

CakePHP1.2 では Form ヘルパーの input メソッドでエラーメッセージを自動的に表示することが可能です。 自動的にエラーメッセージを表示するためには CakePHP1.2 のバリデーション で書いたようにモデルのバリデーションでエラーメッセージを設定しておきます。

/* モデルのバリデーション */
var $validate = array(
    'email' => array(
        'required' => array(
       	    'rule'=>VALID_NOT_EMPTY ,
       	    'message' => '必須項目です'
       	),
);

/* View の Form ヘルパー */
echo $form->input('User/email', array('type'=>'text'));

(続きを読む…)

CakePHP1.2 バリデーションで共通ルールを作成するときに便利な userDefined

0

CakePHP1.2 バリデーションのルールを調べているときに気になっていた Validation クラスにある userDefined に関して調べてみました。
cake/libs/validation.php

function userDefined($check, $object, $method, $args = null) {
    return call_user_func_array(array(&$object, $method), array($check, $args));
}

と定義されています。

call_user_func_array は PHP の関数で、関数やクラスのメソッドをコールすることができます。

つまり独自バリデーションがこれを使用して実装できるということです。
使用方法はモデルに以下のようにバリデーションを定義します。

var $validate = array(
    'field' => array('rule' => array('userDefined',  'Model',  'method_name')),
);

function method_name ($data) {
    /*
      バリデーションのチェック
      エラーなら false 、エラーなしなら true を返す
    */
}

ただこれだと下記のように書けるのであまりありがたみがない。

var $validate = array(
    'field' => array('rule' => array('method_name'),
);

何に使えばいいのかと考えたところ、クラス名、メソッド名が指定できるのでシステムで共通のバリデーションを設定するときに使えるのではと思いました。多分これが一番うれしいところではないかと思います。

※ただ、app_model.php に共通にしたいバリデーションチェック用のメソッド名を書けばそれでいけるような気もする。

Go to Top