Я пишу свои собственные валидаторы пользовательских форм для angular со следующим шаблоном.
static customFunction(param: number, param2: string): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } => {
return { customError: {param, param2} };
};
}
Вместо key:string
я хочу разрешить только диапазон элементов из определенного перечисления.
export enum FormErrorEnum {
unknown = 'unknown',
customError = 'customError',
}
export type FormError = keyof typeof FormErrorEnum;
Если я попытаюсь использовать [key: FormError]: any
или [key in FormError]:any
, я получу одну из двух ошибок.
[key: FormError]: any
приведет к TS1337. [key in FormError]:any
приводит к возврату (customError: {param,param2}
отклоняется, так как он не включает все элементы перечисления.
Я уже смотрел эту ветку. Версия TS - 3.8 - возможно обновление.