Проверка ввода номера типа не работает должным образом в Angular2

Я пытаюсь проверить поле ввода типа number как непустое. Проверка прошла успешно, хотя она пуста.

Если поле ввода имеет текстовый тип, это успешно. Вот пример, который объединяет оба случая:

@Component({
  ...
})
export class MyComponent {

  form: ControlGroup;
  name: Control;
  duration: Control;


  constructor(private _formBuilder: FormBuilder) {
      let thisComp = this;

      thisComp.name = new Control('', Validators.compose([Validators.required]));
      thisComp.duration = new Control('', Validators.compose([Validators.required]));

      thisComp.form = thisComp._formBuilder.group({
        name: thisComp.name,
        duration: thisComp.duration
      });

  }


  onSubmit() {
     ...
  }


}
<form [ngFormModel]="form" (submit)="onSubmit()" novalidate>


     <div>
         <label for="cntrlName">Name</label>
         <input id="cntrlName" ngControl="name" #name placeholder="Enter ..." name="name" type="text" minlength="1" maxlength="200">
         <div *ngIf="name.dirty && !name.valid && !name.pending">
            <p *ngIf="name.errors.required">Name is required.</p>
         </div>
     </div>


     <div>
         <label for="cntrlDuration">Duration (in minutes)</label>
         <input id="cntrlDuration" ngControl="duration" f#duration placeholder="Enter ..." name="duration" type="number">
         <div *ngIf="duration.dirty && !duration.valid && !duration.pending">
            <p *ngIf="duration.errors.required">Duration is required.</p>
         </div>
     </div>

</form>

В предыдущем примере, даже если я вставляю число, а затем удаляю его, сообщение об ошибке «Требуется имя» не отображается.


person Mike Argyriou    schedule 16.04.2016    source источник


Ответы (1)


обновить

Это исправлено в бета-версии 16 https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta16-2016-04-26

исходный

Известно, что требуемый валидатор не работает должным образом для <input type="number">.

Смотрите также

person Günter Zöchbauer    schedule 16.04.2016
comment
Спасибо за оперативный отзыв. Я думаю, что официальная документация Angular2 должна быть обновлена, чтобы упомянуть об этом! Такое же отсутствие поддержки и для других типов HTML5, таких как дата и т. д. (w3schools.com /html/html_form_input_types.asp)? Есть ли план его поддержки? - person Mike Argyriou; 16.04.2016
comment
Я предполагаю, что предполагается получить fixef вместо документированного. - person Günter Zöchbauer; 16.04.2016