[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Roberto Noya
Criador Roberto Noya 20/06/2019

Olá Equipe Especializa TI,

 

Tenho um Form e no momento estou trabalhando nas validações backend (sem javascript).

O Form possui vários campos e após submetido o Controller verifica se existe alguma pendência e caso positivo ele redireciona para o Form infomando os campos pendentes. Entretanto, estou me deparando com o seguinte erro:

 

Mensagem de erro

ErrorException (E_ERROR)

count(): Parameter must be an array or an object that implements Countable

 

Controller

return redirect()->route('admin.payment.make')->with(['errors' => 'Opção Inválida']);  

 

View

@if(isset($errors) && count($errors) > 0)

<div class="alert alert-danger alert-dismissible" id="requiredMSG">

    <h4><i class="icon fa fa-ban"></i> Alerta</h4>

    @foreach($errors->all() as $error)

        <p>{{ $error }}</p>

    @endforeach

</div>

@endif

 

A impressão que tenho é que a VIEW não recebe a variável errors.

 

Minha versão do Laravel é 5.7 e PHP 7.2

 

Alguém pode me ajudar?

 

Grato!

Manager Carlos Ferreira 20/06/2019

Olá, Roberto!
Tudo bem?

Você pode fazer assim no controller:
return redirect()
            ->route('admin.payment.make')
            ->withInput()
            ->withErrors(['Opção Inválida']);

E na view pode ficar assim:
@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

Carlos Ferreira
Criador Roberto Noya 20/06/2019

Deu certo!

Muito Obrigado!

Roberto Noya
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!