laravel @error сообщение о неопределенной переменной - PullRequest
0 голосов
/ 29 января 2020

У меня есть форма, где я пытаюсь сделать проверку:

@extends('html')

@section('title', 'create')
@section('content')

    <h1>Create service</h1>
    <form action='/service' method='post'>
        <input type='text' name='name'>
        {{ csrf_field() }}
        <button>Add service</button>
    </form>
    @error('name') {{ $message }} @enderror

@endsection

Есть запрос на обработку функции:

public function store(Request $request){
        $data = $this->validate($request, [
            'name' => 'required'
        ]);
        $var = request('name');
        DB::table('services')->insert(['name' => $var]);
        return redirect()->back();
    }

Когда я пытаюсь открыть страницу с формой Я получаю такую ​​ошибку:

    ErrorException Undefined variable: message

Что я делаю не так?

Ответы [ 4 ]

1 голос
/ 29 января 2020

попробуйте указать этот класс на входе

<input type='text' name='name' class="@error('name') is-invalid @enderror">

или вы также можете использовать это

@if ($errors->any())
 <div class="alert alert-danger">
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
 </div>
@endif
0 голосов
/ 29 января 2020

Используйте условный оператор в блейд-файле или вставьте символ @ перед именем переменной. см. пример ниже. это определенно решит вашу проблему

 @error('name') {{ $message ?? '' }} @enderror

/// OR

 @error('name') {{ @$message }} @enderror

0 голосов
/ 29 января 2020

Попробуйте это

@extends('html')

@section('title', 'create')
@section('content')

    <h1>Create service</h1>
    <form action='/service' method='post'>
        <input type='text' name='name'>
        {{ csrf_field() }}
        <button>Add service</button>
    </form>
    @error('name') {{ $errors->first('name') }} @enderror

@endsection
0 голосов
/ 29 января 2020

Проблема в том, что ваше сообщение $ не определено.

Возможно, попробуйте это:

 <input type="email" name="{{$name}}" id="input-{{$name}}" class="form-control @error('email') is-invalid @enderror" placeholder="{{ __($label) }}" value="{{ old($name) }}" required autofocus>


  @if ($errors->has($name))
            <span class="invalid-feedback" role="alert">
                <strong>{{ $errors->first($name) }}</strong>
            </span>
        @endif

В этом фрагменте я проверяю, есть ли ошибка и есть ли ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...