[英]Validating input of type number doesn't work properly in Angular2
我正在尝试将数字类型的输入字段验证为非空。 尽管为空,但验证成功。
如果输入字段的类型为 text 则成功。 这是一个结合了这两种情况的示例:
@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>
在前面的示例中,即使我插入一个数字然后将其删除,也不会显示错误消息“需要名称”。
更新
这已在 beta.16 https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta16-2016-04-26中修复
原来的
一个已知问题是, <input type="number">
所需的验证器无法正常工作
也可以看看
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.