【问题标题】:No message error occurs MethodNotAllowedHttpException Laravel没有消息错误发生 MethodNotAllowedHttpException Laravel
【发布时间】:2019-03-09 23:50:20
【问题描述】:

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

   {!! 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

【问题讨论】:

    标签: php laravel routing routes laravel-routing


    【解决方案1】:

    代替:

    @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
    

    【讨论】:

    • 我改了,但错误是一样的。当函数库中发生验证错误时,验证错误消息到底在做什么?它是对请求来自的上一个路由的响应(Route::post('invitation/result', 'UsernameController@result')->name('result.username'); R)?也许消息正在回馈,但带有视图需要的参数 ($user, $groups)?我想我必须先设计一个路由重定向到该路由,然后才能使用参数显示消息?对吗?
    • 对不起,没有参数,没有参数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 2019-01-12
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    相关资源
    最近更新 更多