#forms #cakephp
#формы #cakephp
Вопрос:
Я получил RegisterController.php
и внутри него я получил:
class RegisterController extends AppController {
public $name = 'Register';
public $components = array('Session');
public function index() {
if ($this->request->is('account')) {
// if ($this->Post->save($this->request->data)) {
echo "got it";
$this->Session->setFlash('Your post has been saved.');
$this->redirect(array('action' => 'index'));
// }
}
}
}
Мой /View/Register/index.tcp
файл:
<?php
echo $this->Form->create('Account');
echo $this->Form->input('username');
echo $this->Form->input('password');
$options = array(
'label' => 'Register',
'class' => 'submit'
);
echo $this->Form->end($options);
?>
И мой /Model/Account.php
файл:
<?php
class Account extends AppModel {
public $name = 'Account';
public $validate = array(
'username' => array(
'rule' => 'notEmpty'
),
'password' => array(
'notEmpty' => array(
'rule' => 'notEmpty',
'message' => 'Can not be empty.'
),
'minLength' => array(
'rule' => array('minLength', '8'),
'message' => 'Min. 8 chars.'
)
)
);
}
?>
Проблема в том, что я нажимаю на кнопку отправки, и ничего не происходит. Он должен, по крайней мере, проверять правильность.
Где ошибка?
Комментарии:
1. Вы проверили созданный HTML-вывод, если в форме есть действие?
2. @entek #редактировать Да, у формы есть действие, страница просто перезагружается, когда я нажимаю кнопку отправки.
3. Кто понизил рейтинг, не оставив комментария? Lul.
4. @entek Idk, кто голосует против, это был не я. Но в любом случае скрипт все равно не работает. В форме есть
action
атрибут, но он все равно только обновляет страницу.5. Пожалуйста, отправьте сгенерированную HTML-форму.
Ответ №1:
Должно сработать, если вы добавите действие в параметры:
echo $this->Form->create('Account', array('action' => 'your/url'));