diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-01-15 15:24:06 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-01-15 15:24:06 +0700 |
| commit | 8073c4156accb3fa88469e7a16a65e46983100a5 (patch) | |
| tree | e671e48f4321a7dfef1b80234af58392f71fdbdd /src-migrate/validations | |
| parent | 9c4951174cf6cf5c15b0b2a808d5d14befac6169 (diff) | |
<iman> update code filter badword
Diffstat (limited to 'src-migrate/validations')
| -rw-r--r-- | src-migrate/validations/auth.ts | 115 |
1 files changed, 51 insertions, 64 deletions
diff --git a/src-migrate/validations/auth.ts b/src-migrate/validations/auth.ts index cf88011d..e24d6ea1 100644 --- a/src-migrate/validations/auth.ts +++ b/src-migrate/validations/auth.ts @@ -7,7 +7,7 @@ const forbiddenWords = [ ' tai ', 'kontol', 'memek', - 'bol', + ' bol ', 'pantat', 'jembut', 'mencret', @@ -20,6 +20,39 @@ const forbiddenWords = [ 'b4b1', 'b4bi', 'bab1', + 'mati', + 'perkosa', + 'bunuh', + 'membunuh', + 't41', + 't4i', + 'ta1', + 'anjay', + 'anjir', + 'anying', + 'tokay', + 'peler', + 'meki', + 'tetek', + 'teteq', + 'tobrut', + 'toket', + 'pentil', + 'pantek', + 'bangke', + 'kampret', + 'sialan', + 'beol', + 'bego', + 'goblok', + 'tolol', + 'jancok', + 'jablay', + 'jalang', + 'lonte', + 'jancuk', + 'pelacur', + 'pelakor', ]; export const registerSchema = z .object({ @@ -27,23 +60,22 @@ export const registerSchema = z .string() .min(1, { message: 'Nama harus diisi' }) .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } + (value) => { + const lowerValue = value.toLowerCase(); + const hasForbiddenWord = forbiddenWords.some((word) => + lowerValue.includes(word) + ); + const isStandaloneTai = /\b(tai)\b/.test(lowerValue); + const isStandaloneBol = /\b(bol)\b/.test(lowerValue); + + return !hasForbiddenWord && !isStandaloneTai && !isStandaloneBol; + }, + { message: 'Nama mengandung kata yang tidak diperbolehkan' } ), email: z .string() .min(1, { message: 'Email harus diisi' }) - .email({ message: 'Email harus menggunakan format example@mail.com' }) - .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } - ), + .email({ message: 'Email harus menggunakan format example@mail.com' }), password: z.string().min(6, { message: 'Password minimal 6 karakter' }), phone: z .string() @@ -52,61 +84,16 @@ export const registerSchema = z message: 'Format nomor telepon tidak valid, contoh: 081234567890', }), type_acc: z.string().optional(), - nama_wajib_pajak: z - .string() - .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } - ) - .optional(), - alamat_bisnis: z - .string() - .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } - ) - .optional(), - alamat_wajib_pajak: z - .string() - .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } - ) - .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(), npwp_document: z.string().optional(), industry_id: z.string().optional(), - email_partner: z - .string() - .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } - ) - .optional(), - business_name: z - .string() - .refine( - (value) => - !forbiddenWords.some((word) => value.toLowerCase().includes(word)), - { - message: 'Nama mengandung kata yang tidak diperbolehkan', - } - ) - .optional(), + email_partner: z.string().optional(), + business_name: z.string().optional(), company_type_id: z.string().optional(), isChekBox: z.string().optional(), npwp: z |
