|
|
|
@ -23,17 +23,29 @@ export type SimpanPelangganState = FormState<PelangganField> & {
|
|
|
|
export type HapusPelangganState = DeleteState;
|
|
|
|
export type HapusPelangganState = DeleteState;
|
|
|
|
|
|
|
|
|
|
|
|
const pelangganSchema = z.object({
|
|
|
|
const pelangganSchema = z.object({
|
|
|
|
nama: z.string().trim().min(1, "Nama wajib diisi").max(100),
|
|
|
|
nama: z
|
|
|
|
alias: z.string().trim().max(11),
|
|
|
|
.string()
|
|
|
|
ktp: z.string().trim().max(16),
|
|
|
|
.trim()
|
|
|
|
alamat: z.string().trim().min(1, "Alamat wajib diisi").max(100),
|
|
|
|
.min(1, "Nama wajib diisi")
|
|
|
|
wilayah: z.string().trim().max(200),
|
|
|
|
.max(100, "Nama maksimal 100 karakter"),
|
|
|
|
telp: z.string().trim().max(15),
|
|
|
|
alias: z.string().trim().max(11, "Alias maksimal 11 karakter"),
|
|
|
|
ponsel: z.string().trim().max(15),
|
|
|
|
ktp: z.string().trim().max(16, "No. KTP maksimal 16 karakter"),
|
|
|
|
email: z.string().trim().max(30),
|
|
|
|
alamat: z
|
|
|
|
jenisCustomer: z.string().trim().max(1),
|
|
|
|
.string()
|
|
|
|
upline: z.string().trim().max(11),
|
|
|
|
.trim()
|
|
|
|
btsBon: z.coerce.number().int().min(0).max(2_000_000_000),
|
|
|
|
.min(1, "Alamat wajib diisi")
|
|
|
|
|
|
|
|
.max(100, "Alamat maksimal 100 karakter"),
|
|
|
|
|
|
|
|
wilayah: z.string().trim().max(200, "Wilayah maksimal 200 karakter"),
|
|
|
|
|
|
|
|
telp: z.string().trim().max(15, "Telepon maksimal 15 karakter"),
|
|
|
|
|
|
|
|
ponsel: z.string().trim().max(15, "Ponsel maksimal 15 karakter"),
|
|
|
|
|
|
|
|
email: z.string().trim().max(30, "Email maksimal 30 karakter"),
|
|
|
|
|
|
|
|
jenisCustomer: z.string().trim().max(1, "Jenis customer maksimal 1 karakter"),
|
|
|
|
|
|
|
|
upline: z.string().trim().max(11, "Upline maksimal 11 karakter"),
|
|
|
|
|
|
|
|
btsBon: z.coerce
|
|
|
|
|
|
|
|
.number({ error: "Harus berupa angka" })
|
|
|
|
|
|
|
|
.int("Harus bilangan bulat")
|
|
|
|
|
|
|
|
.min(0, "Tidak boleh negatif")
|
|
|
|
|
|
|
|
.max(2_000_000_000, "Maksimal 2.000.000.000"),
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
function emptyStringToNull(value: string): string | null {
|
|
|
|
function emptyStringToNull(value: string): string | null {
|
|
|
|
|