fix e2e
This commit is contained in:
@@ -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];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user