From 3da0d5f55a0dc8b9c04cb271ea7d541c63c9e3a8 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Wed, 28 Aug 2024 11:57:18 +0700 Subject: update new register --- src-migrate/modules/register/components/FormBisnis.tsx | 14 +++++++++++--- .../modules/register/components/RegistrasiIndividu.tsx | 15 +++++++++++++++ src-migrate/validations/auth.ts | 10 +++++++++- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src-migrate/modules/register/components/FormBisnis.tsx b/src-migrate/modules/register/components/FormBisnis.tsx index 3b8fdbfc..e2e021b3 100644 --- a/src-migrate/modules/register/components/FormBisnis.tsx +++ b/src-migrate/modules/register/components/FormBisnis.tsx @@ -328,11 +328,19 @@ const form: React.FC = ({ type, required, isPKP }) => { readOnly={required} placeholder='000.000.000.0-000.000' value={!required ? form.npwp : ''} - onChange={handleInputChange} - aria-invalid={isPKP && !required && !!errors.npwp} + maxLength={16} // Set maximum length to 16 characters + onChange={(e) => { + if (!required) { + const value = e.target.value.replace(/\D/g, ''); // Remove non-digit characters + if (value.length <= 16) { + handleInputChange(e); + } + } + }} + aria-invalid={!required && !!errors.npwp} /> - {isPKP && !required && !!errors.npwp && {errors.npwp}} + {!required && !!errors.npwp && {errors.npwp}}
diff --git a/src-migrate/modules/register/components/RegistrasiIndividu.tsx b/src-migrate/modules/register/components/RegistrasiIndividu.tsx index b32f2f7b..5503db2a 100644 --- a/src-migrate/modules/register/components/RegistrasiIndividu.tsx +++ b/src-migrate/modules/register/components/RegistrasiIndividu.tsx @@ -1,5 +1,20 @@ import Form from "./Form"; +import { useRegisterStore } from "../stores/useRegisterStore"; +import { useEffect } from "react"; const RegistrasiIndividu = () => { + const { + form, + errors, + updateForm, + validate + } = useRegisterStore() + + useEffect(() => { + updateForm("is_pkp", 'false'); + updateForm("is_terdaftar", 'false'); + updateForm("type_acc", 'individu'); + validate(); + }, []); return ( <> diff --git a/src-migrate/validations/auth.ts b/src-migrate/validations/auth.ts index 81d464f2..e52853b6 100644 --- a/src-migrate/validations/auth.ts +++ b/src-migrate/validations/auth.ts @@ -43,7 +43,7 @@ export const registerSchema = z { field: 'industry_id', message: 'Jenis usaha harus dipilih' }, { field: 'sppkp_document', message: 'Document harus diisi' }, { field: 'npwp_document', message: 'Document harus diisi' }, - { field: 'npwp', message: 'Format NPWP tidak valid, NPWP harus terdiri dari 15 digit angka.' }, + { field: 'npwp', message: 'Format NPWP tidak valid, NPWP harus terdiri dari 15-16 digit angka.' }, { field: 'nama_wajib_pajak', message: 'Nama wajib pajak harus diisi' }, ]; @@ -104,6 +104,14 @@ export const registerSchema = z message: 'Jenis usaha harus dipilih', }); } + + if (data.npwp && !/^\d{15,16}$/.test(data.npwp)) { + ctx.addIssue({ + code: 'custom', + path: ['npwp'], + message: 'Format NPWP tidak valid, NPWP harus terdiri dari 15-16 digit angka.', + }); + } } }else{ -- cgit v1.2.3