I make a Profile Edit Function, but when the validation and edit form i’m not fill the password validation and request password. because i won’t to include it on profile edit.
this is my Controller
public function update(Request $request)
{
try {
$request->validate([
'name' => ['string', 'min:5', 'max:255', 'required'],
'username' => ['string', 'min:5', 'max:255', 'required', 'alpha_num'],
'email' => ['email', 'string', 'min:5', 'max:255', 'required'],
'name_business' => ['string', 'min:5', 'max:255', 'required'],
]);
auth()->user()->update([
"username" => $request->username,
"email" => $request->email,
"password" => $request->old('password'),
"name" => $request->name,
"name_business" => $request->name_business,
"role" => 'user_student'
]);
return redirect()->route('user.user.edit')->with('error', 'Berhasil Mengedit User');
} catch (Exception $e) {
DB::rollback();
dd($e->getMessage());
return redirect()->route('user.user.edit')->with('error', 'Maaf, Gagal Mengedit User');
}
}
but i got this error : “validation.required” // appHttpControllersUserUserController.php:41
my edit view
<form action="{{ route('user.user.update') }}" method="POST">
@method('put')
@csrf
<div class="row g-4">
<div class="col-md-6">
<label class="form-label">Name*</label>
<input class="form-control" type="text" name="name" value="{{ Auth::user()->name }}" placeholder="Enter here..." required>
@error('name')
<span class="text-danger fst-italic">{{ $message }}</span>
@enderror
</div>
<div class="col-md-6">
<label class="form-label">Username*</label>
<input class="form-control" type="text" name="username" value="{{ Auth::user()->username }}" placeholder="Enter here..." required>
@error('username')
<span class="text-danger fst-italic">{{ $message }}</span>
@enderror
</div>
</div>
<div class="row mt-3">
<div class="col-md-6">
<label class="form-label">Email</label>
<input class="form-control" type="email" name="email" value="{{ Auth::user()->email }}" placeholder="Enter here..." required disabled>
@error('email')
<span class="text-danger fst-italic">{{ $message }}</span>
@enderror
</div>
<div class="col-md-6">
<label class="form-label">Business Name*</label>
<input class="form-control" type="text" name="name_business" value="{{ Auth::user()->name_business }}" placeholder="Enter here..." required>
@error('name_business')
<span class="text-danger fst-italic">{{ $message }}</span>
@enderror
</div>
</div>
<div class="row mt-3">
<div class="d-flex justify-content-between mt-3">
<a href="{{ route('user.dashboard.index') }}"class="btn btn-secondary mb-0">Back</a>
<button type="submit" class="btn btn-primary next-btn mb-0">Update Profile</button>
</div>
</div>
</form>
I Want to fix this without fill the password field, can i?
New contributor
Alhaiza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.