Blog simples em CodeIgniter Framework + Validação de formulário.

Então continuando o tutorial, sobre construir um simples blog, hoje vamos fazer uma simples validação de formulário, para que não seja possível cadastrar comentários em brancos, vamos validar o campo body e o campo author de nosso formulário…

Download do blog simples em CI com validação de formulário (CI não incluso):
Local: CodeIgniter Tutorial-002 (7kb)

DEMO:
Verifique no Wiki

então vamos lá:

Então incluimos no arquivo system/application/controllers/blog.php

// Na função 'function Blog()' inclua a seguinte linha
$this->load->library('validation');
[sourcecode]

Agora no mesmo arquivo ainda vamos adicionar nossa validação de formulario;
procure pela linha onde você vai encontrar:
[sourcecode language='php']
$this->load->view('comment_view', $data);

agora mude e adicione as seguintes linhas:


$rules['body']        = "trim|required|xss_clean";
$rules['author']    = "trim|required|max_length[100]";
$this->validation->set_rules($rules);

$this->validation->set_error_delimiters('<div>', '</div>');
if ($_POST)
{
$fields['body']        = 'body';
$fields['author']    = 'author';
} else {
$fields['body']        = '';
$fields['author']    = '';
}
$this->validation->set_fields($fields);

if ($this->validation->run() == FALSE)
{
$this->load->view('comment_view', $data);
} else {
$this->comment_insert($_POST);
}

Agora altere a função “function comment_insert()” para “function comment_insert($_POST)”, agora vamos modificar nossa view.

altere o arquivo system/application/views/comment_view.php para:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?php echo $title; ?></title>
<style type="text/css" media="screen">
.error {
color: #FF0000;
}
</style>
</head>
<body>
<h1><?php echo $heading; ?></h1>

<?php echo $this->validation->error_string; ?>

<?php if($query->num_rows() > 0) :?>

<?php foreach($query->result() as $row): ?>

<p><?php echo $row->body; ?></p>
<p><?php echo $row->author; ?></p>

<hr>

<?php endforeach; ?>

<?php endif; ?>

<p><?php echo anchor('blog', 'Back to Blog');?></p>

<?php echo form_open('blog/comments/' . $this->uri->segment(3));?>

<?php echo form_hidden('entry_id', $this->uri->segment(3));?>

<p>Body:<br /><?php echo $this->validation->body_error; ?><textarea name="body" rows="10"><?php echo $this->validation->body;?></textarea></p>
<p>Author:<br /><?php echo $this->validation->author_error; ?><input type="text" name="author" value="<?php echo $this->validation->author;?>" /></p>
<p><input type="submit" value="Submit Comment" /></p>

</form>

</body>
</html>

e pronto está realizado uma simples validação do formulário.

Duvidas na mudaça verifique: http://www.edsonk.com.br/trac/changeset/15
Manual sobre validação: http://www.codeigniter.com.br/manual/libraries/validation.html

One thought on “Blog simples em CodeIgniter Framework + Validação de formulário.”

Deixe um comentário

O seu endereço de e-mail não será publicado.