Я использую простую регистрационную форму для CakePHP.
Это мой вид редактирования:
<h2>Add User</h2>
<?php echo $form->create('User');
echo $form->input('first_name');
echo $form->input('last_name');
echo $form->input('email');
echo $form->input('address');
echo $form->input('phone');
echo $form->end('Edit');?>
Это мои правила проверки в User.php
class User extends AppModel {
var $name = 'User';
var $validate = array(
(... more rules here ...)
'password' => array('rule' => array('confirmPassword', 'password'),
'message' => 'Passwords do not match'),
'password_confirm' => array('rule' => 'alphanumeric',
'required' => true)
);
Это глупый вопрос, но когда я использую форму редактирования, сохранение данных не удается, потому что мне требуется ввод пароля в последнем правиле. Конечно, это правило было добавлено для страницы регистрации.
Я нашел миллиарды способов обойти эту проблему (отключить проверку при сохранении, выбрать поля для сохранения, ...), но мне интересно, каков «правильный» способ CakePHP сделать это? Кажется, такая простая проблема, но я не могу найти документацию о том, как это сделать чистым способом.
Чтобы сделать мой вопрос более понятным: я не хочу редактировать страницу пользователя, где пароли могут быть изменены.