Я использую инфраструктуру Kohana 3.1 для простой проверки с использованием встроенных классов Kohana ORM
и Validation
. Давайте посмотрим код ...
В модели у меня есть следующие простые правила:
public function rules()
{
return array(
'first_name' => array(
array('not_empty'),
),
'email' => array(
array('not_empty'),
array('email'),
),
);
}
затем в контроллере I попытайтесь проверить и сохранить объект с классической 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"
)
Это явно не так, что я делаю не так?