Обработка исключений проверки при попытке создать пользователя (модуль ORM / Auth Kohana 3.1) - PullRequest
1 голос
/ 25 марта 2011

Используя Kohana 3.1 с модулем Auth ORM, если я создаю нового пользователя с помощью create_user, как я могу обработать исключения проверки и отобразить ошибку для каждого на странице?В этом случае пароль должен быть коротким (<8 символов), но также может быть, что <code>password_confirm не соответствует password.

$user = ORM::factory('user')
        ->where('username', '=', 'admin')->find();
if( ! $user->loaded())
{
    $this->template->content = __('Admin user does not exist. Creating...');

    $user = ORM::factory('user');
    $user->create_user(
        array(
         'username' => 'admin',
         'email' => 'admin@example.com',
         'password' => 'admin',
         'password_confirm' => 'admin'
        ),
        array(
         'username',
         'email',
         'password'
    ));

    // remember to add the login role AND the admin role
    // add a role; add() executes the query immediately
    $user->add('roles', ORM::factory('role')->where('name', '=', 'login')->find());
    $user->add('roles', ORM::factory('role')->where('name', '=', 'admin')->find());
}

1 Ответ

3 голосов
/ 05 апреля 2011

Надеюсь, вы уже нашли ответ на свой вопрос, но в любом случае:

try
{
    $user->create_user(array(..))
}
catch (ORM_Validation_Exception $e)
{
    $validation_errors = $e->errors(''); // an array of errors will be stored in $validation_errors
}
...