Я отчаиваюсь, как создать правильную форму для добавления пользователя в определенную группу.
Сначала я открываю форму, где вы можете найти поле выбора для групп и поле для имени пользователя.
{!! 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);
}
Затем я возвращаюсь к представлению, где пользователь и группа будут снова показаны пользователю.Это то, что пользователь может проверить свои данные.После этого я собираюсь отправить вход (идентификатор пользователя и группы) через функцию отправки в хранилище, где будут храниться данные.Но в этой функции хранилища я должен снова проверить имя группы и имя, потому что хакер может внести изменения в идентификатор группы и имени.Но для меня все, что я сделал, выглядит не совсем корректно и зашито.
Может кто-нибудь дать мне подсказку, как построить что-то подобное в Laravel.