FormControl или пользовательская директива - PullRequest
0 голосов
/ 07 ноября 2018
pageRangeValidator(control: FormControl) {
    if (control.value === '') {
      this.isValidRange = false;
    }
    if (control.value) {
      const selectedRange = control.value;
      const range = selectedRange.split('-');
      const startingPageIndex = +range[0];
      const endingPageIndex = +range[1];
      const totalPages = this.totalPages;
      if ((startingPageIndex > 0
        && startingPageIndex <= totalPages - 1
        && startingPageIndex < endingPageIndex
        && endingPageIndex > 0
        && endingPageIndex <= totalPages) || (startingPageIndex > 0
          && startingPageIndex <= totalPages
          && startingPageIndex === endingPageIndex
          && endingPageIndex > 0
          && endingPageIndex <= totalPages)) {
        this.isValidRange = true;
        this.pageRange.emit({
          validRange: this.isValidRange,
          preview: this.previewDone,
          value: control.value
        });
        return null;
      } else {
        this.isValidRange = false;
        this.pageRange.emit({
          validRange: this.isValidRange,
          preview: this.previewDone,
          value: control.value
        });
        return false;
      }
    }
    return null;
}

Я создаю элемент управления формой, который должен принимать значения только между определенным диапазоном. Я использовал responsetiveformsmodule и formcontrol и создал его, но я хочу знать, лучше ли это делать, или использовать для этого пользовательскую директиву

1 Ответ

0 голосов
/ 07 ноября 2018

Конечно, более элегантно делать это в пользовательской директиве, особенно если вы собираетесь использовать ее несколько раз или хотите, чтобы ваш компонент был небольшим. Директива должна получить гнев и провести его оценку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...