2010-12-15 2 views
1

Примечание: Этот вопрос относится к Кохана только 3,0. Kohana 3.1 и более новые обратные вызовы проверки подлинности вручную.Кохана 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! 

Это возвращает истину или ложь (если есть значение, возвращает ложь), но как я мог отправить сообщение проверки, когда он возвращает ложь?

ответ

0

Следующая функция проверки устанавливает ошибку для поля, если проверка дала отрицательный результат:

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

(перемещена от вопроса)

Смежные вопросы