Сообщение об ошибке не возникает MethodNotAllowedHttpException Laravel - PullRequest
0 голосов
/ 04 октября 2018

Я не получаю сообщение об ошибке после нажатия на кнопку отправить.Вот мой взгляд, который отображается правильно.

   {!! Form::open(array('route'=>'store.invitation')) !!} 
                        <div class="form-group">
                            <input type="hidden" name="iduser" value="{{ $user->id }} "/>
                            <select class="form-control" name="idgroup">
                                @foreach ($groups as $group)
                                    <option value="{{ $group->id }}">{{ $group->name }}</option>
                                @endforeach
                            </select>
                            {{ csrf_field() }}
                        </div>
                        <div>
                            {{Form::submit('User einladen',['class' => 'btn btn-primary'])}}
                        </div>
                    {!! Form::close() !!} 

Это мои маршруты.Последний принадлежит этому представлению store.invitation.

Route::get('invitation', 'UsernameController@search')->name('search.username');
Route::post('invitation/result', 'UsernameController@result')->name('result.username');
Route::post('invitation/store', 'InvitationController@store')->name('store.invitation');

И это моя функция ...

public function store(Request $request)
{

    $request->validate([
        'idgroup' => [
            'required', 'numeric', new AdminGroupRequest, new MaxInvitationAdmin
        ],
        'iduser' => [
            'required', 'numeric', new AlreadyInvitation, new AlreadyPartOfGroup, new MaxInvitationUser
        ]
    ]);

    $iduser = $request->iduser;
    $idgroup = $request->idgroup;
    $i = new Invitation;
    $i->idgroup = $idgroup;
    $i->iduser = $iduser;
    $i->active = 1;
    $i->save();

    $username = User::where('id', $iduser)->select('name')->first();
    $groupname = Group::where('id', $idgroup)->select('name')->first();

    return redirect()->action(
        'UsernameController@search')->with('success', 'Sie haben den User ' .$username->name. ' in die Gruppe ' .$groupname->name. ' eingeladen.');
}

РЕДАКТИРОВАТЬ: Проблема в проверке.Но, на мой взгляд, у меня есть

@if(@count(errors > 0))
                        @foreach($errors->all() as $error)
                            <div class="alert alert-danger">
                                {{$error}}
                            </div>
                        @endforeach
                    @endif

1 Ответ

0 голосов
/ 04 октября 2018

Вместо:

@if(@count(errors > 0))
    @foreach($errors->all() as $error)
        <div class="alert alert-danger">
            {{$error}}
        </div>
    @endforeach
@endif

вы должны использовать

@if($errors->any())
    @foreach($errors->all() as $error)
        <div class="alert alert-danger">
            {{$error}}
        </div>
    @endforeach
@endif

или потому, что вы не переносите ошибки в каком-либо контейнере, который вы можете просто использовать:

@foreach($errors->all() as $error)
    <div class="alert alert-danger">
        {{$error}}
    </div>
@endforeach
...