cakephp $ this-> User-> save($ this-> data)错误记录用户的编辑功能

I am trying to create the "edit" profile page for a logged user in cakephp. This would be the function to add/edit information about the user. I get an error during the $this->User->save($this->data) function and I don't understand what is the problem.

public function edit() {
   $this->User->id = $this->Auth->User('id');

    if ($this->request->is('post')) {
        if ($this->User->save($this->data)) {
            $this->Session->setFlash(__('The user has been saved'), 'flash_success');
           // $this->redirect($this->Auth->redirect());
        } else {
            var_dump($this->invalidFields());

            $this->Session->setFlash(__('The user could not be saved. Please, try again.'), 'flash_failure');
        }
    } else {
        //autocompleto il form
        $this->data = $this->User->read(null, $this->Auth->User('id'));
    }
}

The view is:

<?php 
echo $this->Form->create('User',array('action' => 'edit'));
echo $this->Form->input('name', array('label'=> 'Name'));
echo $this->Form->input('surname', array('label'=> 'Surname'));
echo $this->Form->input('id', array('type'=> 'hidden'));
echo $this->Form->end(__('Submit')); 
?>

I see you use Auth component. If your Auth::authorize default value is overridden ensure that you give user proper rights to perform data writing (maybe he only allowed to read).

Another issue could be your $validate declaration in model, where you force user to enter field value (using 'required' = true) but actually this field is not even displayed on View. You could avoid this validation rule on data edit if 'on' => 'create' is defined inside.

Also I would recommend use CakePHP debug() instead of var_dump() for debugging purpose.