Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | import {
nameRegexPattern,
emailRegexPattern,
phoneUKRegexPattern,
postcodeUKRegexPattern,
numberPlateRegexArray,
} from './regexpatterns.js';
export function validateForm(formData) {
// validation that all fields have been completed
if (
!formData.firstName ||
!formData.lastName ||
!formData.email ||
!formData.phone ||
!formData.address ||
!formData.city ||
!formData.county ||
!formData.postcode
) {
return { valid: false, message: 'Please complete all fields.' };
} else {
return { valid: true };
}
}
export function validateFirstName(name) {
// validates first name
if (!nameRegexPattern.test(name) || name.length > 30) {
return { valid: false, message: 'Please enter a valid first name.' };
}
return { valid: true };
}
export function validateLastName(name) {
// validates last name
if (!nameRegexPattern.test(name) || name.length > 30) {
return { valid: false, message: 'Please enter a valid last name.' };
} else {
return { valid: true };
}
}
export function validateEmail(email) {
// validates email is in correct pattern
if (!emailRegexPattern.test(email)) {
return { valid: false, message: 'Please enter a valid email address.' };
} else {
return { valid: true };
}
}
export function validatePhone(phone) {
// validates phone number
if (!phoneUKRegexPattern.test(phone)) {
return { valid: false, message: 'Please enter a valid UK phone number.' };
} else {
return { valid: true };
}
}
export function validatePostcode(postcode) {
if (!postcodeUKRegexPattern.test(postcode)) {
return { valid: false, message: 'Please enter a valid UK postcode.' };
} else {
return { valid: true };
}
}
export function validateNumberPlate(regNumber) {
// Test entered reg number against array
const matchesAny = numberPlateRegexArray.some((regex) =>
regex.test(regNumber)
);
// reject if a string has been entered and no regex match is found
if (!matchesAny) {
return { valid: false, message: 'Not a valid UK number plate' };
} else {
return { valid: true };
}
}
|