php - the data validation is always return true in cakephp -
the data validation in user model return true. can tell me why? model: user.php
class user extends appmodel { var $name = "user"; public $validate = array( "username" => array( "rule" => "notblank", "message" => "please enter title !", ), "password" => array( "rule" => "notblank", // tập luật là không rỗng "message" => "please enter info !", // thông báo khi có lỗi )); } userscontroller:
if(($this->request->is('post'))) { $this->loadmodel('user'); $this->user->set($this->data); echo "</br> vao ".$this->user->validates(); if($this->user->validates()){ echo "</br>".$this->user->validates(); $this->session->setflash("data avaliable !"); }else{ $error = $this->user->validationerrors; $this->session->setflash("data mot avaliable !"); echo"not validate"; } but return alway true.
i tried run cakephp 2..7.2 , 2.6.0 result still same.
in cakephp 2.x request/form data accessed via $this->request->data not $this->data. need change line set model's data using $this->user->set() use $this->request->data:-
if ($this->request->is('post')) { $this->user->set($this->request->data); if ($this->user->validates()){ $this->session->setflash("data avaliable !"); } else{ $this->session->setflash("data not avaliable !"); } } as long you're sticking cakephp conventions there no need load user model in userscontroller should auto-loaded. can remove $this->loadmodel('user').
if you're using notblank validation rule make sure using cakephp 2.7 rule not exist in earlier versions of cake. cakephp 2.6 use notempty rule.
Comments
Post a Comment