【发布时间】:2011-07-24 02:42:30
【问题描述】:
我正在使用 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"
)
这显然不是真的,我做错了什么?
【问题讨论】:
-
我在关系方面做错了,实际上字段
email列在我尚未链接的外国相关表上..
标签: php validation kohana-3 kohana-orm