This commit is contained in:
2026-01-05 19:35:49 +01:00
parent b4b915416b
commit d9e6151ae0
92 changed files with 10964 additions and 7893 deletions

View File

@@ -20,7 +20,7 @@ export interface ValidationRule<T> {
export const emailValidation = (email: string): ValidationResult => {
const errors: string[] = [];
if (!email.trim()) {
if (!email || !email.trim()) {
errors.push('Email is required');
} else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
errors.push('Invalid email format');
@@ -63,7 +63,7 @@ export const passwordValidation = (password: string): ValidationResult => {
*/
export const nameValidation = (name: string, field: string = 'Name'): ValidationResult => {
const errors: string[] = [];
const trimmed = name.trim();
const trimmed = name ? name.trim() : '';
if (!trimmed) {
errors.push(`${field} is required`);
@@ -116,12 +116,12 @@ export interface LoginFormValues {
export const validateLoginForm = (values: LoginFormValues): Record<string, string> => {
const errors: Record<string, string> = {};
const emailResult = emailValidation(values.email);
const emailResult = emailValidation(values.email || '');
if (!emailResult.isValid) {
errors.email = emailResult.errors[0];
}
const passwordResult = passwordValidation(values.password);
const passwordResult = passwordValidation(values.password || '');
if (!passwordResult.isValid) {
errors.password = passwordResult.errors[0];
}
@@ -143,27 +143,27 @@ export interface SignupFormValues {
export const validateSignupForm = (values: SignupFormValues): Record<string, string> => {
const errors: Record<string, string> = {};
const firstNameResult = nameValidation(values.firstName, 'First name');
const firstNameResult = nameValidation(values.firstName || '', 'First name');
if (!firstNameResult.isValid) {
errors.firstName = firstNameResult.errors[0];
}
const lastNameResult = nameValidation(values.lastName, 'Last name');
const lastNameResult = nameValidation(values.lastName || '', 'Last name');
if (!lastNameResult.isValid) {
errors.lastName = lastNameResult.errors[0];
}
const emailResult = emailValidation(values.email);
const emailResult = emailValidation(values.email || '');
if (!emailResult.isValid) {
errors.email = emailResult.errors[0];
}
const passwordResult = passwordValidation(values.password);
const passwordResult = passwordValidation(values.password || '');
if (!passwordResult.isValid) {
errors.password = passwordResult.errors[0];
}
const confirmPasswordResult = confirmPasswordValidation(values.password, values.confirmPassword);
const confirmPasswordResult = confirmPasswordValidation(values.password || '', values.confirmPassword || '');
if (!confirmPasswordResult.isValid) {
errors.confirmPassword = confirmPasswordResult.errors[0];
}