kohana 3.1 orm验证更新用户详细信息

时间:2011-07-01 03:26:09

标签: validation orm kohana kohana-3 authentication

我正在通过

运行update_user表单
$user = ORM::factory('user', $id)->update_user($this->request->post(), array(
  'username',
  'password',
  'email'
));

使用当前用户预填充表单字段用户名和电子邮件,并将密码保留为空白以便“保持不变”

但是在提交时,它会从'用户'模型中获取来自create_user的所有验证消息

所以我得到了:

"username already taken"
"email address already taken"
"password can't be blank"

有谁知道你的想法如何绕过这个?

1 个答案:

答案 0 :(得分:3)

    $user = $this->get_user();

    if ( ! $user->loaded())
    {
        throw new Exception_Deny;
    }

    if ($_POST)
    {
        try
        {
            $user->update_user($_POST, array(
                'username',
                'email',
                'password',
            ));
        }
        catch (ORM_Validation_Exception $e)
        {
            $this->add_errors($e);
        }
    }

    $this->content = View::factory('user/update');

绝对正常工作 - 只有当我试图分配现有的另一个用户的用户名或密码时才会出错...检查你在ORM或Model_User类中覆盖的任何内容。

相关问题