Validation Function
validName(): ValidatorFn {
return (control: FormControl): { [key: string]: boolean } | null => {
if (!control.value) {
return null;
}
let regex = new RegExp('^[a-zA-Z \.\'\-]{1,' + control.value.length + '}$');
let regex2 = new RegExp('[a-zA-Z]+');
let isValid = true;
if (!control.value.match(regex)) {
isValid = false;
} else if (!control.value.match(regex2)) {
isValid = false;
} else if (control.value.indexOf('.') === 0) {
isValid = false;
} else if (control.value.indexOf('.') > 0 && control.value.indexOf('.') !== control.value.lastIndexOf('.')) {
isValid = false;
} else if (control.value.indexOf('\'') === 0) {
isValid = false;
} else if (control.value.indexOf('\'') >= 0 && control.value.indexOf('\'') !== control.value.lastIndexOf('\'')) {
isValid = false;
} else if (control.value.indexOf('-') === 0) {
isValid = false;
} else if (control.value.indexOf('--') !== -1) {
isValid = false;
} else if (control.value.indexOf(' ') === 0) {
isValid = false;
} else if (control.value.indexOf(' ') !== -1) {
isValid = false;
}
return isValid ? null : { 'invalidName': true };
};
};
}