Laravel无法从表单正确路由

时间:2019-02-19 18:20:28

标签: php laravel

在URL用户/密码/更改上,我有一个表单:

{!! Form::open(array('route' => 'password.recover')) !!}
    <div class="form-group">
        <label for="email">Email Address</label>
        <input type="email" class="form-control" name="email" id="email" value="{{ old('email') }}" />
    </div>
    <div class="form-group">
        <label for="password">New Password</label>
        <input type="password" class="form-control" name="password" id="password" />
    </div>
    <div class="form-group">
        <label for="password_confirmation">New Password (again)</label>
        <input type="password" class="form-control" name="password_confirmation" id="password_confirmation" />
    </div>
    <div class="form-group">
        <label for="password_confirmation">Verification Code (from text message)</label>
        <input type="text" class="form-control" name="verification_code" id="verification_code" />
    </div>
    <button type="submit" class="btn btn-primary btn-block">Reset Password</button>
{!! Form::close() !!}

该表格位于刀片式视图/auth/reset.blade.php

form操作正在我的route.auth文件中调用此路由:

Route::post('password/recover', 'Auth\AuthController@reset')
->name('password.recover');

问题是,当我提交表单时,出现MethodNotAllowedHTTPException错误。如果我从错误页面返回,则我的表单会加载表单验证错误(因为表单提交为空)。因此,它在我的AuthController中命中了reset函数,但是它存在某种路由错误。如果我尝试提交空白表格,则应该在页面上重新加载错误,而不是给出异常错误。

我在这里错过了完全显而易见的东西吗?

1 个答案:

答案 0 :(得分:1)

Form::open(array('route' => 'password.recover', 'method'=>'post'))

您没有传递正确的http方法。该路线正在等待发布,但您使用的是默认值get。