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');
Agora no mesmo arquivo ainda vamos adicionar nossa validação de formulario;
procure pela linha onde você vai encontrar:
$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

Excelente!