我正在使用 Kohana 3.1 框架使用 KohanaORM
和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"
)
这显然不是真的,我做错了什么?