2010-12-15 9 views
1

注:この質問は 3.0 Kohanaのを指します。 Kohana 3.1以降の処理確認コールバックはまったく異なる方法で処理されます。Kohanaの3:コールバック検証

私はコールバック(ORM)で検証しています。 (falseを返し、値が存在する場合)、それは真か偽を返すだ

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! 

それがfalseを返したときにどのように私は、検証メッセージを送ることができる:これらは私のコードですか?検証が失敗した場合

答えて

0

次の検証機能は、フィールドのためのエラーを設定します(質問から移動)

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