没有消息错误发生MethodNotAllowedHttpException Laravel

时间:2018-10-04 14:27:56

标签: php laravel routing routes laravel-routing

点击提交后,我没有收到任何消息错误。这是我的视图,显示正确。

   {!! 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 :(得分:0)

代替:

@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
相关问题