Criar uma formulário de contato em Laravel 5 utilizando a funcionalidade Form Request é uma prática eficaz para lidar com a validação de dados de entrada. Laravel oferece uma maneira elegante de realizar essa tarefa, facilitando o processo de validação e reutilização de código.
Aqui está um guia passo a passo para criar um formulário de contato utilizando o recurso Form Request no Laravel 5:
1. Criar o Form Request
Primeiro, você precisa criar uma classe Form Request para lidar com a validação dos dados enviados pelo formulário. No terminal, execute o seguinte comando Artisan:
bashphp artisan make:request ContactFormRequest
Isso criará uma nova classe ContactFormRequest
dentro do diretório app/Http/Requests
.
2. Definir as Regras de Validação
Abra o arquivo ContactFormRequest.php
recém-criado e defina as regras de validação para os campos do formulário no método rules()
. Por exemplo:
phppublic function rules()
{
return [
'name' => 'required|string|max:255',
'email' => 'required|email|max:255',
'message' => 'required|string|max:1000',
];
}
3. Manipular a Requisição
Agora, você precisa manipular a requisição do formulário no controlador correspondente. Crie um método no controlador para processar o envio do formulário:
phpuse App\Http\Requests\ContactFormRequest;
public function submitContactForm(ContactFormRequest $request)
{
// Lógica para lidar com o envio do formulário
}
4. Criar a Visualização do Formulário
Crie uma visualização para exibir o formulário de contato. Por exemplo, você pode criar um arquivo chamado contact.blade.php
em resources/views
e adicionar o seguinte código HTML:
html<form action="{{ route('submitContactForm') }}" method="POST">
@csrf
<div>
<label for="name">Nome:label>
<input type="text" name="name" id="name" value="{{ old('name') }}">
div>
<div>
<label for="email">Email:label>
<input type="email" name="email" id="email" value="{{ old('email') }}">
div>
<div>
<label for="message">Mensagem:label>
<textarea name="message" id="message">{{ old('message') }}textarea>
div>
<button type="submit">Enviarbutton>
form>
5. Rota
Por fim, defina a rota para o método de envio do formulário no arquivo web.php
:
phpRoute::post('/submit-contact-form', 'ContactController@submitContactForm')->name('submitContactForm');
Agora, quando o formulário for enviado, o Laravel automaticamente validará os dados utilizando a classe ContactFormRequest
que você criou. Se houver erros de validação, o usuário será redirecionado de volta para o formulário com os erros exibidos. Caso contrário, o método submitContactForm
no controlador será executado para lidar com o envio do formulário.
“Mais Informações”
Claro, vou fornecer informações detalhadas sobre como criar uma formulário de contato em Laravel 5 usando a funcionalidade de Form Request.
Introdução ao Laravel:
Laravel é um framework PHP poderoso e popular, conhecido por sua elegância e expressividade no desenvolvimento de aplicações da web. Ele oferece uma ampla gama de recursos para simplificar o processo de desenvolvimento, incluindo rotas, controllers, views e form requests, que são particularmente úteis para lidar com validação de dados de formulários.
Form Request no Laravel:
Form Request é um recurso do Laravel que permite centralizar a lógica de validação de formulários em classes dedicadas. Isso ajuda a manter o código limpo e organizado, separando as regras de validação do restante da lógica do aplicativo.
Criando a Form Request:
- Criar o Form Request Class:
Primeiro, vamos criar uma classe Form Request para lidar com a validação do formulário de contato. No terminal, execute o seguinte comando Artisan:
bashphp artisan make:request ContactFormRequest
Isso criará um novo arquivo na pasta app/Http/Requests
com o nome ContactFormRequest.php
. Abra este arquivo e você verá um método rules()
onde você pode definir as regras de validação do seu formulário.
- Definindo Regras de Validação:
Dentro do método rules()
, você pode definir as regras de validação para os campos do seu formulário. Por exemplo, se você tem campos de nome, email e mensagem, suas regras de validação podem ser definidas da seguinte maneira:
phppublic function rules()
{
return [
'name' => 'required|string|max:255',
'email' => 'required|email|max:255',
'message' => 'required|string|max:1000',
];
}
Isso garante que os campos name
, email
e message
sejam obrigatórios, tenham um formato válido e atendam aos limites de tamanho especificados.
- Usando a Form Request no Controller:
Agora que você definiu suas regras de validação, pode usá-las em seu controller para validar os dados do formulário. Por exemplo, em seu controller de contato (ContactController
), você pode injetar a classe Form Request no método de envio de mensagem:
phpuse App\Http\Requests\ContactFormRequest;
public function sendMessage(ContactFormRequest $request)
{
// Os dados do formulário foram validados neste ponto
// Você pode prosseguir com o processamento da mensagem
}
Exibindo Erros de Validação:
Se os dados do formulário não passarem na validação, o Laravel automaticamente redirecionará de volta ao formulário e os erros estarão disponíveis para exibição. Você pode exibir esses erros na sua view usando a função @error
do Blade.
Por exemplo, em sua view de formulário de contato (contact.blade.php
), você pode exibir os erros da seguinte maneira:
html@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}li>
@endforeach
ul>
div>
@endif
Conclusão:
Neste guia, exploramos como criar um formulário de contato em Laravel 5 usando a funcionalidade de Form Request. Ao seguir este processo, você pode criar formulários robustos que garantam que os dados enviados pelos usuários atendam aos requisitos específicos antes de serem processados pelo aplicativo. Isso ajuda a melhorar a segurança e a usabilidade da sua aplicação.