O formulário de contato já está implementado, mas para garantir uma boa experiência do usuário, é essencial adicionar validação e feedback para indicar erros ou sucesso no envio da mensagem. O CodeIgniter 4 oferece um sistema de validação robusto que facilita essa implementação.
Configurando a Validação no Controller
No app/Controllers/ContatoController.php, modificamos o método enviar() para incluir regras de validação:
namespace App\Controllers;
use CodeIgniter\Controller;
use CodeIgniter\Email\Email;
class ContatoController extends Controller
{
public function index()
{
return view('contato');
}
public function enviar()
{
$validacao = \Config\Services::validation();
$regras = [
'nome' => 'required|min_length[3]',
'email' => 'required|valid_email',
'mensagem'=> 'required|min_length[10]'
];
if (!$this->validate($regras)) {
return redirect()->to('/contato')->withInput()->with('erros', $validacao->getErrors());
}
$email = service('email');
$email->setFrom('seuemail@seudominio.com', 'Site CodeIgniter');
$email->setTo('destinatario@seudominio.com');
$email->setSubject('Nova mensagem de contato');
$email->setMessage(
"Nome: " . $this->request->getPost('nome') . "\n" .
"Email: " . $this->request->getPost('email') . "\n" .
"Mensagem: " . $this->request->getPost('mensagem')
);
if ($email->send()) {
return redirect()->to('/contato')->with('sucesso', 'Mensagem enviada com sucesso!');
} else {
return redirect()->to('/contato')->with('erro', 'Erro ao enviar mensagem.');
}
}
}
As regras de validação garantem que:
O nome seja obrigatório e tenha no mínimo 3 caracteres.
O e-mail seja obrigatório e tenha um formato válido.
A mensagem seja obrigatória e tenha pelo menos 10 caracteres.
Exibindo Mensagens de Erro no Formulário
Agora precisamos exibir os erros de validação no formulário. No arquivo app/Views/contato.php, adicione:
Agora, se o usuário preencher o formulário incorretamente, os erros serão exibidos e os campos manterão os valores digitados.
Conclusão
Com essas melhorias, o formulário de contato agora fornece um retorno claro ao usuário, garantindo que apenas mensagens válidas sejam enviadas.
No próximo post, vamos melhorar o layout da aplicação, criando um template base para todas as páginas.
Se você ou sua empresa precisa de suporte para desenvolvimento com CodeIgniter 4, a Saldaris Consultoria pode ajudar. Entre em contato pelo formulário no final da página para saber mais sobre nossos serviços.