2010-12-15 66 views
1

注:這個問題是指Kohana中只有3.0。 Kohana 3.1和更新的處理驗證回調的方式完全不同。的Kohana 3:回調確認

我正在使用回調(ORM)進行驗證。這是我的代碼:

class Model_Loja extends ORM { 
    // more code goes here! 
    protected $_callbacks = array(
     'endereco' => array('endereco_unico') 
    ); 

    public function endereco_unico(Validate $validate, $campo) { 
     $resultado = $this->where('endereco', '=', $this->endereco)->find_all(); 
     if(count($resultado)) { 
      return false; 
     } 
     else { 
      return true; 
     } 
    } 
    // more code goes here! 

它返回true或false(如果有一個值,返回false),但我怎麼能發送驗證消息,當它返回false?

回答

0

下列驗證函數設置一個錯誤的字段,如果驗證失敗:

public function endereco_unico(Validate $validate, $campo) { 
    if(count($this->where('endereco', '=', $this->endereco)->find_all())) { 
     $validate->error($campo, 'endereco_unico'); 
    } 
} 

(來自問題移動)