почтовый запрос будет проверен через Правила валидации.Если возникает ошибка проверки, ответ возвращается к сообщению Route.
Route::post('invitation/result', 'UsernameController@result')->name('result.username');
И после этого я получаю сообщение об ошибке no Message, поскольку в представлении нужны два параметра ($ group, $ parameter).
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">In welche Gruppe wollen sie den User {{$user->name}} einladen?</div>
<div class="panel-body">
@foreach($errors->all() as $error)
<div class="alert alert-danger">
{{$error}}
</div>
@endforeach
{!! 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() !!}
</div>
</div>
</div>
</div>
Можно ли вернуть параметр, который у меня есть в запросе на проверку, например 'required'?
$request->validate([
'idgroup' => [
'required'
],
Спасибо
РЕДАКТИРОВАТЬ: Это непроверка «требуется», но другая, которая мне нужна в этом контексте.
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use App\Invitation;
use App\Group;
use App\User;
class AlreadyInvitation implements Rule
{
private $groupname;
private $username;
public function passes($attribute, $value)
{
$idgroup = request('idgroup');
$alreadyinvitation = Invitation::where([['iduser', $value], ['idgroup', $idgroup], ['active', 1]])->select('active')->first();
if(empty($alreadyinvitation)){
return true;
}else{
$this->groupname = Group::where('id', $idgroup)->select('name')->first();
$this->username = User::where('id', $value)->select('name')->first();
return false;
}
}
public function message()
{
return 'The User ' .$this->username->name. ' has an active request for Group ' .$this->groupname->name. ';
}
}