Files
warren/frontend/lib/schemas/auth.ts

23 lines
806 B
TypeScript

import { object, string } from 'yup';
const EMAIL_REGEX: RegExp =
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
export const registerSchema = object({
name: string().trim().min(1).required('required'),
email: string()
.trim()
.matches(EMAIL_REGEX, 'Expected a valid email')
.required('required'),
password: string().trim().min(12).max(32).required('required'),
});
export const loginSchema = object({
email: string()
.trim()
.matches(EMAIL_REGEX, 'Expected a valid email')
.required('required'),
// Don't include the min and max here to let bad actors waste their time
password: string().trim().required('required'),
});