Ad

Call To A Member Function All() On String Laravel 5.8

Im having a trouble to show the errors on my view. Im using request, and also i am validating in the controller.

This is the part of the view on the code that has errors.

@if ($errors->any())
              <div class="col-md-12">
              <label>Errores</label>
              <div class="alert alert-danger">
              <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
              </ul>
              </div>
              </div>
              @endif
              </div>

I also try to change the $errors->any for $errors->all and nothing.

This is the part of the controller code that has the other validation, and this is the one that is having trouble with the other view code.

public function store(ComplejoStoreRequest $request)
    {     
        $complejos=new Complejos();
        $complejos->nombre_complejo=$request->nombre_complejo;
        $complejos->categoria=$request->tipocomplejo;
        $complejos->id_tipo_sede=$request->sede;

        $cantidadComplejos = Sede::find($request->sede)->complejos->count();

        if($cantidadComplejos==3)
            return redirect()->to('complejos/create')->with('errors','Ya la sede tiene 3 complejos!');

        //$complejos->localizacion_complejo=$request->localizacion_complejo;
        $complejos->jefe_organizacion=$request->jefe;
        $complejos->area=$request->ocupacion;
        $complejos->estado=$request->estado; 

            $complejos->save();

and this is the code in my request

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class ComplejoStoreRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'nombre_complejo' => 'required|max:25|unique:complejos,nombre_complejo',
            'jefe' => 'required|max:25|unique:complejos,jefe_organizacion',            
        ];
    }

    public function messages()
{
    return [
        'nombre_complejo.required' => 'Debe ingresar el nombre del complejo',
        'nombre_complejo.unique' => 'El nombre del complejo ya se encuentra registrado',
        'jefe.required' => 'Debe ingresar el nombre del jefe de la organización',
        'jefe.unique' => 'El/la jefe/jefa de la organización ya se encuentra registrado',


    ];



}

}

I want to show all the validations messages in the request, and also want to show the validations messages on the controller.

What do i have to do?

Ad

Answer

// controller
if($cantidadComplejos==3)
   return redirect()->to('complejos/create')->with('err','Ya la sede tiene 3 complejos!');

//blade

@if(session()->has('err'))
    <div class="alert alert-danger">{!! session('err') !!}</div>
@endif

@if ($errors->any())
     <div class="col-md-12">
          <label>Errores</label>
          <div class="alert alert-danger">
              <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
              </ul>
          </div>
    </div>
@endif
Ad
source: stackoverflow.com
Ad