Skip to content
Snippets Groups Projects
Select Git revision
  • a2a0ea8c9ed4221a3e8ea285864162b612d1be83
  • main default protected
  • sumlab
  • dev/test_tobias
  • jack.rolph-main-patch-16563
  • jack.rolph-main-patch-96201
  • jack.rolph-main-patch-18340
  • jack.rolph-main-patch-15793
  • jack.rolph-main-patch-74592
  • 1.0.0
10 results

_PeakOTronAP2.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    User.js 1.11 KiB
    import { z } from 'zod';
    import validator from 'validator';
    
    // SIGN UP
    export const createUserSchema = z.object({
      name: z.string().min(1),
      username: z.string().min(1),
      email: z.string().email(),
      password: z.string().refine((val) => val && validator.isStrongPassword(val), {
        message: 'This value must be min 6 characters long and contain uppercase, lowercase, number, specialchar.',
      }),
      confirmPassword: z.string(),
    }).refine((data) => data.password === data.confirmPassword, {
      message: "Passwords don't match",
      path: ["confirmPassword"],
    });
    
    // UPDATE
    export const updateUserSchema = z.object({
      name: z.string().min(1),
      username: z.string().min(1),
      email: z.string().email(),
      verified: z.boolean(),
      password: z.string().refine((val) => val && isStrongPassword(val), {
        message: 'This field must be min 6 characters long and contain uppercase, lowercase, number, specialchar.',
      }).nullish().or(z.literal('')),
      confirmPassword: z.string().nullish().or(z.literal('')),
    }).refine((data) => data.password === data.confirmPassword, {
      message: "Passwords don't match",
      path: ["confirmPassword"],
    });