summaryrefslogtreecommitdiff
path: root/src-migrate/validations
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-08-27 14:51:14 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-08-27 14:51:14 +0700
commit0b5f187f45e0bbf111e11a94415f20d5e34f7c5c (patch)
tree783f77bf4d5dae1576b153ac63e5ae351ecea111 /src-migrate/validations
parent8a6578b299c6fd26e2ef63b88cf7ebb522a83538 (diff)
<iman> update new field register
Diffstat (limited to 'src-migrate/validations')
-rw-r--r--src-migrate/validations/auth.ts76
1 files changed, 51 insertions, 25 deletions
diff --git a/src-migrate/validations/auth.ts b/src-migrate/validations/auth.ts
index 443c0d80..81d464f2 100644
--- a/src-migrate/validations/auth.ts
+++ b/src-migrate/validations/auth.ts
@@ -16,6 +16,8 @@ export const registerSchema = z
}),
type_acc: z.string().optional(),
nama_wajib_pajak: z.string().optional(),
+ alamat_bisnis: z.string().optional(),
+ alamat_wajib_pajak: z.string().optional(),
is_pkp: z.string(),
is_terdaftar: z.string(),
sppkp_document: z.string().optional(),
@@ -24,36 +26,19 @@ export const registerSchema = z
email_partner: z.string().optional(),
business_name: z.string().optional(),
company_type_id: z.string().optional(),
- npwp: z.string().optional(),
+ isChekBox: z.string().optional(),
+ npwp: z.string().optional().refine((val) => !val || /^\d{15,16}$/.test(val), {
+ message: 'Format NPWP tidak valid, NPWP harus terdiri dari 15-16 digit angka.',
+ }),
})
.superRefine((data, ctx) => {
if (data.type_acc === 'business') {
if (data.is_terdaftar === 'false') {
- if (data.is_pkp === 'false') {
- if (!data.business_name) {
- ctx.addIssue({
- code: 'custom',
- path: ['business_name'],
- message: 'Nama perusahaan harus diisi',
- });
- }
- if (!data.company_type_id) {
- ctx.addIssue({
- code: 'custom',
- path: ['company_type_id'],
- message: 'Badan usaha wajib dipilih',
- });
- }
- if (!data.industry_id) {
- ctx.addIssue({
- code: 'custom',
- path: ['industry_id'],
- message: 'Jenis usaha harus dipilih',
- });
- }
- } else {
+ if (data.is_pkp === 'true') {
const requiredFields: { field: keyof typeof data; message: string }[] = [
{ field: 'business_name', message: 'Nama perusahaan harus diisi' },
+ { field: 'alamat_bisnis', message: 'Alamat perusahaan harus diisi' },
+ // { field: 'alamat_wajib_pajak', message: 'Alamat wajib pajak harus diisi' },
{ field: 'company_type_id', message: 'Badan usaha wajib dipilih' },
{ field: 'industry_id', message: 'Jenis usaha harus dipilih' },
{ field: 'sppkp_document', message: 'Document harus diisi' },
@@ -79,9 +64,50 @@ export const registerSchema = z
message: 'Email partner harus diisi dengan format example@mail.com',
});
}
+ if(data.isChekBox === 'false'){
+ if (!data.alamat_wajib_pajak) {
+ ctx.addIssue({
+ code: 'custom',
+ path: ['alamat_wajib_pajak'],
+ message: 'Alamat wajib pajak harus diisi',
+ });
+ }
+ }
+
+ } else {
+ if (!data.business_name) {
+ ctx.addIssue({
+ code: 'custom',
+ path: ['business_name'],
+ message: 'Nama perusahaan harus diisi',
+ });
+ }
+ if (!data.alamat_bisnis) {
+ ctx.addIssue({
+ code: 'custom',
+ path: ['alamat_bisnis'],
+ message: 'Alamat perusahaan harus diisi',
+ });
+ }
+
+ if (!data.company_type_id) {
+ ctx.addIssue({
+ code: 'custom',
+ path: ['company_type_id'],
+ message: 'Badan usaha wajib dipilih',
+ });
+ }
+ if (!data.industry_id) {
+ ctx.addIssue({
+ code: 'custom',
+ path: ['industry_id'],
+ message: 'Jenis usaha harus dipilih',
+ });
+ }
+
}
}else{
- if (data.is_pkp === 'false') {
+ if (data.is_pkp === 'true') {
if (!data.business_name) {
ctx.addIssue({
code: 'custom',