При добавлении custom валидации FormGroup ломается и равняется undefined

У меня есть стандартная форма, в которой я провожу валидацию, и валидация по дефолту работает отлично, но теперь у меня стоит задача добавить custom валидацию. У меня в форме есть поля from и to, которые являются числами, и мне нужно добавить валидацию, чтобы число from было меньше числа to. Я это рeализовал таким образом:

private fillForm(){
    this.form = new FormGroup({
      id: new FormControl(this.sensor.id),
      name: new FormControl(this.sensor.name, [Validators.required, Validators.maxLength(30)]),
      model: new FormControl(this.sensor.model, [Validators.required, Validators.maxLength(15)]),
      range_from: new FormControl(this.sensor.range_from, [Validators.required]),
      range_to: new FormControl(this.sensor.range_to, [Validators.required]),
      type: new FormControl(this.sensor.type, [Validators.required]),
      unit: new FormControl(this.sensor.unit, [Validators.required]),
      location: new FormControl(this.sensor.location, [Validators.required, Validators.maxLength(40)]),
      description: new FormControl(this.sensor.description, [Validators.required, Validators.maxLength(200)])
    })
  }

И функция валидации, которая лежит вне класса:

function checkRange(to: number): ValidatorFn{
  return (control: AbstractControl): {[key: string] : boolean} | null => {
    if (control.value !== undefined && (isNaN(control.value)) && control.value >= to){
      return {'invalidRange': true}
    }
    return null;
  }
}

Пока я не добавляю эту функцию в валидаторы, вся валидация работает отлично, но как только я ее добавляю, появляется проблема и я получаю кучу ошибок, FormGroup undef и вообще валидация не работает.

range_from: new FormControl(this.sensor.range_from, [Validators.required, checkRange(this.form.value.range_to)]),

введите сюда описание изображения


Ответы (0 шт):