I'm having a weird little problem with my controller. I don't want it to reload my page. I don't know if this is possible but it is mandatory that my page doesn't reload when calling this function. Doesn't matter if it gives a useless message as long as it doesn't reload. For the moment it returns back() as a placeholder. This is my controller:
public function update(Request $request, User $user)
{
$this->validate($request,[
'name' => 'required|min:3|unique:users,name,' . $user->id,
'email' => 'required|min:3|unique:users,email,' . $user->id
]);
$user->name = $request->name;
$user->email=$request->email;
$user->active=$request->active;
$user->admin=$request->admin;
$user->save();
session()->put('flash_message', 'User succesfully edited!');
// return redirect('admin/users2')
// sleep(10);
return back();
}
My form:
<form action="" method="post">
@method('put')
@csrf
<div class="form-group">
<label for="name">Name</label>
<input type="text" name="name" id="name"
class="form-control @error('name') is-invalid @enderror"
placeholder="name"
minlength="3"
required
value="">
@error('name')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
<br>
<label for="email">email</label>
<input type="text" name="email" id="email"
class="form-control @error('email') is-invalid @enderror"
placeholder="email"
minlength="8"
required
value="">
@error('email')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
{{--type hidden voor de waarde in te stellen als checkbox unchecked is--}}
<br>
<input type="hidden" name="active" value="0" />
<input type="checkbox" id="active" name="active" value=1> Active
<br>
<br>
<input type="hidden" name="admin" value="0" />
<input type="checkbox" id="admin" name="admin" value=1> Admin
<div class="invalid-feedback"></div>
</div>
<button style="display: inline" type="submit" class="btn saveadvanced btn-success">Save changes</button>
</form>
I don't know if this is possible. If anyone knows a way to make this happen feel free to comment.