summaryrefslogtreecommitdiff
path: root/src-migrate/validations/auth.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src-migrate/validations/auth.ts')
-rw-r--r--src-migrate/validations/auth.ts75
1 files changed, 72 insertions, 3 deletions
diff --git a/src-migrate/validations/auth.ts b/src-migrate/validations/auth.ts
index 0df80a2a..6cdd930b 100644
--- a/src-migrate/validations/auth.ts
+++ b/src-migrate/validations/auth.ts
@@ -1,8 +1,77 @@
import { z } from 'zod';
-
+const forbiddenWords = [
+ 'anjing',
+ 'babi',
+ 'monyet',
+ 'bangsat',
+ ' tai ',
+ 'kontol',
+ 'memek',
+ ' bol ',
+ 'pantat',
+ 'jembut',
+ 'mencret',
+ 'ngehe',
+ 'ngewe',
+ 'ngentot',
+ 'ngews',
+ 'jembudh',
+ 'jembud',
+ '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({
- name: z.string().min(1, { message: 'Nama harus diisi' }),
+ name: z
+ .string()
+ .min(1, { message: 'Nama harus diisi' })
+ .refine(
+ (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' })
@@ -11,7 +80,7 @@ export const registerSchema = z
phone: z
.string()
.min(1, { message: 'Nomor telepon harus diisi' })
- .refine((val) => /^\d{10,12}$/.test(val), {
+ .refine((val) => /^\d{9,13}$/.test(val), {
message: 'Format nomor telepon tidak valid, contoh: 081234567890',
}),
type_acc: z.string().optional(),