Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Crud com Laravel - #7 Validações

29/01/2020

Nesse tutorial iremos realizar as validações no formulário do nosso CRUD com Laravel. Nossa validação abrigará tanto o front quanto o backend.

Validações com Laravel

Nossa primeira validação será no html create.blade.php. Nossos inputs receberão o atributo required:

<input class="form-control" type="text" name="title" id="title" placeholder="Título:" required><br>
<select class="form-control" name="id_user" id="id_user" required>
    <option value="">Autor</option>
                @foreach($users as $user)
        <option value="{{$user->id}}">{{$user->name}}</option>
                @endforeach
</select><br>
<input class="form-control" type="text" name="pages" id="pages" placeholder="Páginas:" required><br>
<input class="form-control" type="text" name="price" id="price" placeholder="Preço:" required><br>

No lado backend, faremos as validações padrões do Laravel. Para isso, utilizaremos o comando no terminal:

php artisan make:request BookRequest

Após o comando você pode reparar que foi criada a pasta request dentro de http com o arquivo BookRequest.php. O arquivo BookRequest ficará assim:

<?php
namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class BookRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'title'=>'required',
            'pages'=>'required|numeric'
        ];
    }

    public function messages()
    {
        return [
            'title.required' => 'Coloque o título!',
            'pages.numeric'  => 'Coloque números para as páginas.',
        ];
    }
}

No BookController, vamos alterar o método store trocando o parâmetro Request por BookRequest:

public function store(BookRequest $request)
{
    $cad=$this->objBook->create([
       'title'=>$request->title,
       'pages'=>$request->pages,
       'price'=>$request->price,
       'id_user'=>$request->id_user
    ]);
    if($cad){
        return redirect('books');
    }
}

Não se esqueça de linkar o BookRequest no alto do nosso Controller:

use App\Http\Requests\BookRequest;

Agora, para exibirmos a mensagem de alerta de validação, dentro da nossa views, vamos criar uma div no alto do formulário:

@if(isset($errors) && count($errors)>0)
    <div class="text-center mt-4 mb-4 p-2 alert-danger">
        @foreach($errors->all() as $erro)
            {{$erro}}<br>
        @endforeach
    </div>
@endif
Traduzindo o Laravel para PT-BR

Basta você pesquisar no Google por Laravel Language e baixar os pacotes em português. Copie a pasta pt-br para dentro de resources/lang. Posteriormente acesse config/app.php e localize as linhas locale e troque por pt-br

� possível também cadastrar mensagens personalizadas, basta usar o método messages() como exemplificado no código do início da página.

Por hoje é só! Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Crud com Laravel - #6 Create
Fala turma! No tutorial de hoje trabalharemos com o método create do Laravel que serve para inserção de valores no banco de dados MySql.
Saiba mais!
Crud com Laravel - #8 Edit
Na vídeoaula de hoje trataremos da parte do update no Crud com Laravel, editando os dados cadastrados no banco de dados MySql.
Saiba mais!
Crud
Nesse curso aprenderemos como desenvolver uma ClassCrud com conexão ao banco de dados mysql através dos conectores PDO e MYSQLi.
Saiba mais!