添加参数以提交表单laravel

时间:2018-10-02 09:55:36

标签: laravel url submit

在这里您可以看到我在表单中输入用户名并具有隐藏的idgroup字段的情况。

{!! Form::open(array('route'=>'create.invitation')) !!}
    <div class="form-group">
        {{Form::label('username', 'Username')}}
        {{Form::text('username', '', ['class' => 'form-control', 'placeholder' => 'Enter Username'])}}
        <input type="hidden" name="idgroup" value="{{$group}}"/>
        {{ csrf_field() }}
    </div>
    <div>
        {{Form::submit('Submit',['class' => 'btn btn-primary'])}}
        <a class="btn btn-default btn-close" href="{{ route('home') }}">Cancel</a>
    </div>
{!! Form::close() !!}

之后,这条路线将我带到控制器功能

Route::post('invitation/show', 'InvitationController@create')->name('create.invitation');

如何将用户名和idgroup添加到我的网址中? 现在的问题是,当我单击“提交”时,我会返回该URL http://127.0.0.1:8000/invitation/create,而当我单击Enter到url行时,我会收到一条错误消息,因为没有参数将传递给该函数。

添加。这是功能

public function create(Request $request)
{
    $request->validate([
     'username' => [
     'required', 'alpha_num', new ExistingUser, new UserNotAdmin
            ]
    ]);

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

    return view('invitation.overview')->with('group', $group)->with('iduser', $iduser);
 }

1 个答案:

答案 0 :(得分:1)

如果不提交表单,则无法在POST正文中传递参数。

但是您可以尝试使用any()作为路由来同时允许GET或POST,这样就可以测试页面了。

Route::any('invitation/show', 'InvitationController@create')->name('create.invitation');

然后,您可以尝试通过URL内的查询传递变量

http://127.0.0.1:8000/invitation/create?username=something&idgroup=1