ответ проверки CakePHP, возвращающий данные в контроллер - PullRequest
0 голосов
/ 28 сентября 2010

Привет, я сделал пользовательскую проверку в модели.Как мне получить доступ к результату ($ visitor) из этого в контроллере?

модель:

<?php  
class Visitors extends AppModel 
{ 
    var $name = 'Visitors'; 

    var $validate = array(
        'xxx' => array(
            'rule' => array('checkxxx'),
            'message' => 'yyy.'
        )
    );

    function checkIxxx($check){
        $visitor = $this->find('first', array('conditions' => $check));
        return $visitor;
    }

} 

?>

в моем контроллере я хочу это:

function start() {  
        $this->Visitors->set($this->data);      
        if($this->Visitors->validates()) 
        {  
          if($this->Visitors->xxx->type == 'value') //this is a value from the $visitor array in the model**
          {
               //do something
          }

        }

возможно ли это?

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

Обновлено, чтобы быть соответствующим ответом, извинения.

//Model
var myField = 'invalid';

function myValidation($var){
  if($var === true){
    // Passed your validation test
    $this->myField = 'valid';
  }else{
    $this->myField = 'invalid';
  }
}

// Controller
$this->Model->set($this->data);
$this->Model->validates($this->data);

if($this->Model->myfield == 'valid'){
  // Field has passed validation
}

Вы хотите использовать

$this->Model->invalidFields()
0 голосов
/ 29 сентября 2010

PS: Вы не следуете правилам тортов

модель должна быть "Посетитель" (единственное число)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...