Validação não funciona CAKEPHP

23/07/2015

0

PHP

Olá, estou estudando cakePHP e estou enrolado numa questão: VALIDAÇÃO!
Segui os procedimentos no book do CAKEPHP, mas quando gravo alguma coisa num form em branco, ele grava no banco um registro em branco, ou seja, a validação não está funcionando. Tentei seguir as convenções do cakePHP. Segue abaixo os arquivos e seus códigos.

Model
Nome do arquivo: Aluno.php
<?php
class Aluno extends AppModel {
    public $name = 'Alunos';
    public $validate = array(
        'nome' => array(
            'rule' => 'notEmpty',
            'message' => 'Digite o nome do aluno'
        )
    );
}
?>

Controller
Nome do arquivo: AlunosController.php (abaixo apenas o código para gravar/adicionar novo aluno)
public function adicionar() {
        //TITULO DA PAGINA
        $this->set('title', 'Adicionar aluno');
        $aluno = $this->Alunos->newEntity();
        if ($this->request->is('post')) {
            $aluno = $this->Alunos->patchEntity($aluno, $this->request->data);
            if ($this->Alunos->save($aluno)) {
                $this->Flash->success(__('Dados gravados com sucesso.'));
                return $this->redirect(['action' => 'index']);
            } else {
                $this->Flash->error(__('Erro ao gravar dados.'));
                return $this->redirect(['action' => 'adicionar']);
            }
        }
        $this->set('aluno', $aluno);
    }

View
Nome do arquivo: adicionar.ctp
<?php

if (isset($title)) {
    $this->assign('title', $title); 
}
?>
<h1>Gravar Aluno</h1>
<div class="input-group">
    <div class='col-xs-6'>
<?php
    echo $this->Form->create('Post'),
    $this->Form->input('nome', array('class'=>'form-control')),
    $this->Form->input('endereco', array('class'=>'form-control')),
    $this->Form->input('bairro', array('class'=>'form-control')),
    $this->Form->input('cidade', array('class'=>'form-control')),
    $this->Form->input('uf', array('class'=>'form-control')),
    $this->Form->input('cep', array('class'=>'form-control'))
            ?>
    </div>

    <div class='col-xs-6'>
<?php
    echo $this->Form->input('data_nasc', array('class'=>'form-control')),
    $this->Form->input('telefone', array('class'=>'form-control')),
    $this->Form->input('celular', array('class'=>'form-control')),
    $this->Form->input('email', array('class'=>'form-control')),
    $this->Form->input('senha', array('class'=>'form-control'))
            ?>
    </div>

    <div class='col-xs-12' style="padding: 20px 0 20px 10px">
<?php
    echo $this->Form->button('Gravar aluno', 
                    array('class'=>'btn btn-primary')); 
    $this->Form->end();
    ?>
    </div>

</div>
Valdemir Santos

Valdemir Santos

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar