数字字段必需的验证不工作:Angular2

时间:2017-07-07 11:11:56

标签: html5 angular typescript angular-validation

我正在使用角度2.Required字段验证器显示不确定行为的数字字段。在编辑模式下,它显示必需的字段错误,即使它包含值。 enter image description here

我的HTML代码:

<input type="number" placeholder="Enter Pincode" [formControl]="formLocation.controls['Pincode']" class="form-control error" (input)="objLocationDetails.LocationPincode=Pincode.value" value="{{objLocationDetails.LocationPincode}}" #Pincode/>

<div *ngIf="objLocationDetails.LocationPincode=='' ||(formLocation.controls['Pincode'].hasError('required') &&
                                                                    formLocation.controls['Pincode'].touched)" class="alert alert-danger">
    Please enter pincode
</div>

和打字稿代码:

private InitialiseFormControls(): void {
    this.formLocation = this.formBuilderRef.group({
        'LocationName': [null, [Validators.required]],
        'Address1': [null, [Validators.required]],
        'Address2': [null],
        'Pincode': [null,[Validators.required]]

 });

调试后我发现

(formLocation.controls['Pincode'].hasError('required')

此声明返回&#39; true&#39;这就是为什么显示错误..但为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

    private InitialiseFormControls(): void {
     this.formLocation = this.formBuilderRef.group({
     'LocationName': [null, [Validators.required]],
     'Address1': [null, [Validators.required]],
     'Address2': [null],
     'Pincode': ["",[Validators.required]] });

使用空字符串代替null。