Kohana 3.1 フレームワークを使用して、Kohana の組み込みクラスORM
を使用して簡単な検証を行っています。Validation
コードを見てみましょう...
モデルには、次の単純なルールがあります。
public function rules()
{
return array(
'first_name' => array(
array('not_empty'),
),
'email' => array(
array('not_empty'),
array('email'),
),
);
}
次に、コントローラーで、クラシックコンストラクトを使用してオブジェクトを検証して保存しようとします。try ... catch
try
{
$t = array(
'first_name'=>'pippo',
'email'=>'foo@foo.com',
);
ORM::factory('customer')->values($t)->save();
}
catch ( ORM_Validation_Exception $e )
{
die(Debug::vars($e->errors('')));
}
上記の$t
配列は検証されるはずですが、検証されません。代わりに例外をスローし、次のDebug::vars
エラーを呼び出して出力します。
array(1) (
"email" => string(23) "email must not be empty"
)
これは明らかに真実ではありません。私が間違っていることは何ですか?