Форма регистрации не работает

#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'));