[Update] Validasi update/create nampan

This commit is contained in:
Baghaztra 2025-10-14 11:35:36 +07:00
parent 94d146557f
commit a1cb3e3f21
4 changed files with 15 additions and 10 deletions

View File

@ -27,14 +27,13 @@ class NampanController extends Controller
'nama' => 'required|string|max:10|unique:nampans,nama',
],
[
'nama.required' => 'Nama nampan harus diisi.',
'nama.max' => 'Nama nampan maksimal 10 karakter.',
'nama.unique' => 'Nampan dengan nama yang sama sudah ada.',
'nama.max' => 'Nama nampan maksimal 10 karakter.'
'nama.required' => 'Nama nampan harus diisi.'
]);
Nampan::create($validated);
return response()->json([
'message' => 'Nampan berhasil dibuat'
],201);
@ -59,7 +58,9 @@ class NampanController extends Controller
'nama' => 'required|string|max:10|unique:nampans,nama,'.$id,
],
[
'nama' => 'Nama nampan harus diisi.'
'nama.max' => 'Nama nampan maksimal 10 karakter.',
'nama.unique' => 'Nampan dengan nama yang sama sudah ada.',
'nama.required' => 'Nama nampan harus diisi.'
]);
$nampan = Nampan::findOrFail($id);

View File

@ -13,7 +13,7 @@ return new class extends Migration
{
Schema::create('nampans', function (Blueprint $table) {
$table->id();
$table->string('nama', 100)->unique();
$table->string('nama', 10)->unique();
$table->timestamps();
});
}

View File

@ -307,7 +307,6 @@ function handleItemAdded() {
if (detail.value) {
detail.value.items_count++;
}
creatingItem.value = false;
}
// Hapus produk

View File

@ -99,7 +99,10 @@ const saveTray = async () => {
}
try {
const token = localStorage.getItem("token");
const headers = { Authorization: `Bearer ${token}` };
const headers = {
Accept: 'application/json',
Authorization: `Bearer ${token}`
};
if (editingTrayId.value) {
await axios.put(`/api/nampan/${editingTrayId.value}`, { nama: trayName.value }, { headers });
alert.value = { success: "Nampan berhasil diperbarui" };
@ -110,11 +113,13 @@ const saveTray = async () => {
timer.value = setTimeout(() => { alert.value = null; }, 5000);
closeModal();
if (trayList.value) {
await trayList.value.refreshData(); // Call refreshData on TrayList
await trayList.value.refreshData();
}
} catch (error) {
console.error(error);
errorCreate.value = error.response?.data?.message || "Gagal menyimpan nampan.";
const errors = error.response?.data?.errors?.nama || [];
console.log(errors);
errorCreate.value = errors[0] || 'Gagal menyimpan nampan.';
clearTimeout(timer.value);
timer.value = setTimeout(() => { errorCreate.value = ""; }, 3000);
}