1
resposta

Validators simplesmente não funciona

Boa tarde, Gostaria de uma ajuda, O codigo esta praticamente identico ao das aulas, porém não funciona, fiz varias alterações e testes...

O codigo validators dentro do metodo adiciona, funciona normalmente, porem se eu criar como nas aulas um Validator separado e adicionar como parametro no metodo adicionar, simplesmente não funciona..

Alguém poderia me ajudar.

Desconfio que seja as versões do Laravel, estou usando 5.7.3. Mas não creio que eles iriam criar uma versão imcompativel com as anteriores... então gostaria de .saber se existe uma forma de validar usando essa versao 5.7.3 pois deve ser diferente.

Codigo metodo adicionar

public function adicionar(ProdutoRequest $request)
    {
        Produto::create( $request->all());
        return redirect('/')->withInput();
    }


Codigo Validator

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

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

    public function rules()
    {
        return [
            ['nome' => 'required|max:100'],
            ['descricao' => 'required|max:255'],
            ['valor' => 'required|numeric'],
            ['tamanho' => 'required|min:100'],
            ['quantidade' => 'required|numeric']
        ];
    }

    public function messages()
    {
        return [
          'required' => 'O :attribute é obrigatorio'
        ];//parent::messages(); // TODO: Change the autogenerated stub
    }
}
1 resposta

Oi Alexandre, tudo bom?

Segundo a documentação na versão 5.7 o Form Request continua da mesma forma, com os mesmos métodos e no mesmo namespace. Segundo a própria documentação, também, bastaria passar o Request customizado na action do controller com o tipo definido, assim como você fez.

Você importou essa classe no começo do controller? Algo como:

<?php
// outros uses
use estoque\Http\Requests\Request;
...

Você também pode comparar seu código com o projeto pronto desse capitulo e ver se não encontra nenhuma diferença em algum detalhe.

Se quiser, compartilha mais do seu código aqui com a gente. Assim posso tentar rodar o projeto e encontrar alguma coisa.

Abraço