将用户添加到Laravel中的组

时间:2018-10-02 15:02:14

标签: laravel routes submit

我对如何创建正确的表单以将用户添加到特定组感到失望。

首先,我打开一个表单,您可以在其中找到用于组的选择框和用于用户名的字段。

{!! Form::open(array('route'=>'create.invitation')) !!} 
    <div class="form-group">
        {{Form::label('group', 'In welche Gruppe möchten Sie den User einladen?')}}

        <select class="form-control" name="idgroup">
            @foreach ($groups as $group)
                <option value="{{ $group->id }}">{{ $group->name }}</option>
            @endforeach
        </select>
        </p>
        {{Form::label('username', 'Username')}}
        {{Form::text('username', '', ['class' => 'form-control', 'placeholder' => 'Enter Username'])}}

        {{ 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() !!} 

之后,我将验证组,尤其是用户名,因为必须检查此用户名是否确实存在于数据库中。

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

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

    return view('invitation.approval')->with('group', $group)->with('user', $user); 
}

然后我返回一个视图,其中用户和组将再次显示给用户。这是用户可以验证其输入。 之后,我将通过提交将输入(用户和组ID)发送到将存储数据的存储功能。但是在此存储功能中,我必须再次验证组和名称,因为黑客可能会更改组和名称ID。但是对我来说,我所做的所有事情看起来都不是正确的。

任何人都可以给我提示如何在laravel中构建类似的东西。

0 个答案:

没有答案