开发者

cakephp validation response returning data to controller

Hi i have made a custom validation in the model. How can i access the result($visitor) from this in the controller?

model:

<?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;
    }

} 

?>

in my controller i want this:

func开发者_JAVA百科tion 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
          }

        }

is this possible?


Updated to be a relevant answer, apologies.

//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
}

You will want to use

$this->Model->invalidFields()


PS: You dont follow cake conventions

the model should be "Visitor" (singular)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜