diff options
| -rw-r--r-- | src-migrate/modules/register/components/FormBisnis.tsx | 14 | ||||
| -rw-r--r-- | src-migrate/modules/register/components/RegistrasiIndividu.tsx | 15 | ||||
| -rw-r--r-- | 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<FormProps> = ({ 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 && <span className="form-msg-danger">{errors.npwp}</span>} + {!required && !!errors.npwp && <span className="form-msg-danger">{errors.npwp}</span>} </div> <div> 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{ |
