У меня проблема .. Я попробовал заполнить форму, затем нажмите кнопку отправки, а затем отобразит ошибку формы, но все поля текстового поля пустуют пустым, могут показать ошибку формы. Я хочу, чтобы он стал тем же значением, что и до проверки. как я не хочу очистить/выпустить значение после проверки.Cakephp После проверки, все поля формы пустуют с ошибкой формы
я сделал что-то вроде этого: (в представлении)
<div class="regform">
<div id="formleft">First Name<asterix>*</asterix></div>
<div id="formright"><?php echo $this->Form->input('First Name', array(
'name' => 'firstname',
'label'=> false
)); ?></div>
<div id="formerror"><?php echo $this->Form->error('Customer.firstname'); ?></div>
</div>
(в модели):
'firstname' => array(
'firstname_cant_be_empty' => array(
'rule' => 'notEmpty',
'message' => 'First Name must be filled.'
),
'firstname_must_be_alphabet' => array(
'rule' => '/^[a-z]{3,}$/i',
'message' => 'First Name is only letters. No numbers, Dotted, etc.'
)
)
(в контроллере):
if ($this->request->is('Post')) {
if ($this->Customer->save($this->request->data) && $this->Customer->validates()) {
//debug($this->request->data);
$this->Session->setFlash('good!');
//$this->redirect('/');
} else {
$this->Session->setFlash('Fill up form now!');
$this->data = $this->request->data;
}
}
Я не думаю, что вам нужно $ this-> Customer-> validates(), потому что оно уже делает это в методе сохранения. – jimiyash