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 | 1x 1x 1x 1x 203x 203x 203x 203x 203x 203x 203x 1x 1x 114x 114x 114x 114x 114x 114x 1x 1x 114x 114x 114x 114x 1x 1x 3x 3x 3x 1x 1x 2x 2x 2x 1x 1x 228x 228x 228x 228x 228x 228x 1x 1x 152x 152x 152x 152x 1x 1x 1x 1x 1x | import { parsePhoneNumberFromString } from 'libphonenumber-js';
export class GlobalValidator {
static mailFormat(control: any): ValidationResult | null {
const EMAIL_REGEXP =
/^[a-z0-9!#$%&'*+=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;
if (control.value !== '' && (control.value?.length <= 5 || !EMAIL_REGEXP.test(control.value))) {
return { EmailIsIncorrect: true };
}
return null;
}
static passwordsMatch(control: any): ValidationResult | null {
const pass = control.root.value['password'];
const pass_re = control.value;
if (pass && pass_re && pass !== pass_re) {
return { passwords_not_match: true };
}
return null;
}
static passwordsLength(control: any): ValidationResult | null {
if (control.value !== '' && control.value?.length <= 7) {
return { too_short: true };
}
return null;
}
static passFormat(control: any): ValidationResult | null {
const regex = new RegExp('^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})');
if (control.value !== '' && (control.value?.length <= 5 || !regex.test(control.value))) {
return { PasswordIncorrect: true };
}
return null;
}
static letter(control: any): ValidationResult | null {
const regex = /^[a-zA-Z]*$/gim;
if (control.value !== '' && !regex.test(control.value)) {
return { pattern: true };
}
return null;
}
static phoneFormat(control: any): ValidationResult | null {
if (control.value && control.value !== '') {
if (control.value.internationalNumber && control.value.internationalNumber === '') {
return { phone_invalid: true };
}
const phoneNumber: any = parsePhoneNumberFromString(control.value.internationalNumber);
if (!phoneNumber?.isValid()) {
return { phone_invalid: true };
}
}
return null;
}
}
interface ValidationResult {
[key: string]: boolean;
}
|