Find data sebelum validasi form request laravel

Saya mau update data menggunakan validasi form request dengan role email unique, semua berjalan normal.

Asumsikan saya punya 3 data dari id 1-3 dengan url:

127.0.0.1:8000/api/user/update/3

Controller:

use App\Http\Requests\Simak\User\Update;
...
public function update(Update $request, $id)
{
	try {
		// UPDATE DATA
		return resp(200, trans('general.message.200'), true);
	} catch (\Exception $e) {
		// Ambil error
		return $e;
	}
}

Update FormRequest:

...
public function rules()
{
	return [
		'user_akses_id' => 'required|numeric',
		'nama'          => 'required|max:50',
		'email'         => 'required|email|unique:users,email,' . $this->id,
		'password'      => 'required',
		'foto'          => 'nullable|image|max:1024|mimes:jpg,png,jpeg',
		'ip'            => 'nullable|ip',
		'status'        => 'required|boolean'
	];
}

tapi jika id yang di update tidak ditemukan misal ....../update/4, response nya ke validasi email has been taken, bukan di throw ke modelexception.

Solve nya gimana ya biar return nya data tidak ditemukan bukan validasi terlebih dahulu?

avatar dimashpt
@dimashpt

39 Kontribusi 1 Poin

Diperbarui 4 tahun yang lalu

1 Jawaban:

'user_akses_id' => 'required|numeric' -> dihilangkan aja, jadi ngecek id ada atau ndak nya di controller nya, sebelum masuk ke try catch $cek = getData::where('user_akses_id', $request->user_akses_id)->first(); if(!empty($cek)){ echo "ada data": };

avatar ArfinMustofa
@ArfinMustofa

29 Kontribusi 14 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban