我是kohana 3.2的新手,我無法找到任何重新驗證驗證模塊的答案。 這是我的代碼和最初的原因,因爲我將用戶模型改爲擴展model_auth_user 驗證不是按照正確的方式完成的。密碼字段可以插入空的,沒有錯誤時拋出將被捕獲並同樣如果password_confirm和密碼字段是不同的:Kohana驗證模型
public function action_new()
{
if ($_POST){
try
{
$user = ORM::factory('user')
->values(array(
'username' => $_POST['username'],
'email' => $_POST['email'],
'password' => $_POST['password'],
'password_confirm' => $_POST['password_confirm']));
$user->save();
$user->add('roles', ORM::factory('role', array('name' => 'login')));
$this->request->redirect('user/index');
}
catch (ORM_Validation_Exception $e)
{
$errors = $e->errors();
}
}
$view = View::factory('user/new')
->bind('errors',$errors); //pass the info to the view
$this->response->body($view); //show the view
}
感謝
請顯示Model_User代碼。檢查它是否有正確的'rules()'方法。 – biakaveron 2013-05-13 05:51:59
無法通過'rules()'創建密碼的規則,因爲它已經被散列。你需要從'Model_Auth_User'(或者你使用的類擴展Model_Auth_User)檢查(併發布)'create_user' – kero 2013-05-13 10:14:42
使用Kohana 3.3。在你的情況下,你可能重新定義了一些原來的'Model_Auth_User'方法或屬性,並沒有包含父函數或代碼。 – 2013-05-13 11:25:58