我正在通过
运行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"
有谁知道你的想法如何绕过这个?
答案 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类中覆盖的任何内容。