0

I am working with angular 2.Required field validator for number field showing uncertain behaviour.In edit mode it show required field error even though it contains value. enter image description here

my html code:

<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>

and typescript code:

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

 });

After debugging I found that

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

this statement returns 'true' and thats why Is shows error.. but why this is happening?

Ero
  • 491
  • 1
  • 3
  • 15
user19041992
  • 133
  • 1
  • 5
  • 18

1 Answers1

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

use empty string in place of null.

Aman Kumar
  • 16
  • 1
  • 4