Я пытаюсь обновить только некоторую информацию для пользователя. В частности, я не хочу менять пароль. Итак, у меня есть хорошая форма с данными, которые я хочу изменить, и мой контроллер готов их получить, даже указав поля в $model->save($param)
.
У меня есть контроллер, готовый проверить все, включая требуемый пароль . Но мне не нужно проверять это, так как я не изменяю это. Тем не менее, я получаю сообщение об ошибке, подтверждающее, что требуется пароль.
Я хочу изменить только некоторые конкретные поля, и я хочу сделать это только в одном запросе (что оставляет $model->saveField()
вне игры).
Это возможно?
Мой контроллер:
if (!empty($this->data)) {
$this->User->set($this->data);
if ($this->User->save()) {
//do stuff
}
}
Массив данных содержит только поля, отправленные из формы, которые не содержат пароль, и все же я получаю ошибку проверки.
В модели у меня есть следующее правило проверки:
'passwordConfirmacion' => array(
'camposIdenticos' => array(
'rule' => array('camposIdenticos', 'password'),
'message' => 'La confirmacion no coincide',
'required' => true,
'allowEmpty' => false,
),
function camposIdenticos($data, $comparacion) {
$temp = array_keys($data);
$campo = $temp[0];
return $data[$campo] === $this->data['User'][$comparacion];
}