尝试创建用户时处理验证异常(Kohana 3.1 ORM / Auth 模块)

发布于 2024-10-26 13:32:48 字数 1158 浏览 2 评论 0原文

将 Kohana 3.1 与 Auth ORM 模块结合使用,如果我使用 create_user 创建一个新用户,如何处理验证异常并为页面中的每个用户显示错误?在这种情况下,密码太短(<8 个字符),但也可能是 password_confirmpassword 不匹配。

$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' => '[email protected]',
         '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());
}

Using Kohana 3.1 with the Auth ORM module, if I create a new user using create_user, how can I handle validation exceptions and display an error for each one in the page? In this case, the password is to short (< 8 characters), but it could also be that password_confirm does not match 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' => '[email protected]',
         '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());
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〆一缕阳光ご 2024-11-02 13:32:48

希望您已经找到了问题的答案,但无论如何:

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

Hope you've already found an answer to your question but anyway:

try
{
    $user->create_user(array(..))
}
catch (ORM_Validation_Exception $e)
{
    $validation_errors = $e->errors(''); // an array of errors will be stored in $validation_errors
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文