権限テーブルに値を保存するためにaddpermission関数を使用しています。Laravel 5.2のデータ挿入の検証方法
public function addPermission(Request $request, $id, Permission $permission)
{
$this->validate($request, [
'status' => 'required'
]);
$permission = new Permission;
$permission->status = $request->input('status');
$permission->project_id = $id;
$permission->collaborator_id = $request->input('cid');
$permission->save();
return redirect()->back()->with(
'info',
'Permission has been added to your Collaborator successfully'
);
}
これは、今、私はいくつかのユーザーが既存の行に新しい値を追加する場合は、このフォームを検証する必要が私のpermiisionaddフォームアクション
<form class="form-vertical" role="form" method="post"
action="{{ route('projects.collaborators.permission', $project->id,$collaborator->id) }}">
<input type="hidden" id="cid" name="cid" value="{{ $collaborator->user()->first()->id }}" />
<div class="form-group{{ $errors->has('status') ? ' has-error' : '' }}">
<label for="status" class="control-label">Choose Permission</label>
<select name="status" id="status">
<option value="">Choose a status</option>
<option value="3">View Only</option>
<option value="2">Edit Tasks</option>
<option value="1">Admin</option>
</select>
@if ($errors->has('status'))
<span class="help-block">{{ $errors->first('status') }}</span>
@endif
</div>
<div class="form-group">
<button type="submit" class="btn btn-default">Create</button>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
である(いくつかのメッセージを生成する)
私はどのように行うことができますこの?
$this->validate($request, [
'cid' => 'unique:permissions,collaborator_id',
'status' => 'required'
]);
このユーザーがテーブルにすでに行を持っている場合は、この方法で、それは勝った
:私が正しくあなたを理解している場合
あなたは既に検証コードを持って、いただきました!問題ですか? –
いいえ、その検証は空の値です。つまり、値を指定しないでボタンをクリックすると、検証されます。同じユーザーに既存の値を追加すると、新しいレコードも保存されます。これを検証する必要があります(既存のレコードに値を追加する場合は、検証する必要があります) – Fernando