我有一个控制器,我在表中添加了一些注册值,但是在控制器中我想知道页面是否经过验证,我现在的问题是当它进入模型并验证时并且有一个错误,它将返回到注册页面,但密码中填入了哈希值,所以我需要添加一些内容,如果(验证)这样做....这是我的代码
CONTROLLER
<?php
class UsersController extends AppController {
var $uses = array("User");
var $components =array('Session');
function index()
{
$this->set('users', $this->User->find('all'));
$this->layout = 'master_layout';
}
function add() {
if (!empty($this->data)) {
//HERE I WOULD LIKE TO KNOW IF THE VALIDATION FROM MY MODEL RETURNED VALID OR NOT
$this->data['User']['user_password'] = Security::hash($this->data['User']['user_password']);
if ($this->User->save($this->data)) {
$this->Session->setFlash('Your were registered!.');
$this->redirect(array('action' => 'index'));
}
}
$this->layout = 'custom_layout';
}
}
?>
答案 0 :(得分:0)
最简单的解决方案是将密码输入的value
属性设置为空。这是执行此操作的标准方法。
但是,如果您想知道错误是什么以及模型是否经过验证,您还可以查看模型的$this->ModelName->validates()
方法。
您还可以使用此方法来获取模型中的错误 - $this->ModelName->invalidFields()
食谱链接 - http://book.cakephp.org/view/1182/Validating-Data-from-the-Controller
这适用于CakePHP 1.3