Состояние:
Содержимое может содержать только символы из следующего набора:
a b c d e f g h i j k lm n o p q r s t uv w x y z
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ
0 1 2 3 4 5 6 7 8 9
/ -? : (). , '+
• Содержание НЕ может начинаться с ‘/’
• Содержимое не может содержать ‘//’
export function directDebitValidator(nameRe: RegExp): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } | null => {
const directDebitID = nameRe.test(control.value);
return directDebitID ? { 'directDebit': { value: control.value } } : null;
};
}
@Directive({
selector: '[directDebit]',
providers: [{ provide: NG_VALIDATORS, useExisting: DirectDebitValidatorDirective, multi: true }]
})
export class DirectDebitValidatorDirective {
validate(control: AbstractControl): { [key: string]: any } | null {
return control.value ? directDebitValidator(new RegExp("^(? !.* [\/]{2})[a-zA-Z0-9-?:().,'+]+([a-zA-Z0-9\/-?:().,'+])*$"))(control)
: null;
}
}