`FormControl`按方法设置值不启用字段,如何标记为有效

时间:2018-05-22 06:37:41

标签: angular5

我在表单中按动态设置senderAddress。但仍然无法启用submit按钮。

这是我的HTML:

<input type="text" class="form-control"  placeholder="Senders's Address" 
            formControlName="senderAddress" #searchSenderAddress>

在ts:

@ViewChild("searchSenderAddress") public searchSenderAddressRef:ElementRef;
senderAddress = new FormControl("", [Validators.required, Validators.pattern(/^\S*$/)]);

ngOnInit() {

        if( this.senderFormattedAddress ){
            this.senderAddress.setValue( this.senderFormattedAddress ); //setting the value
        }
    }

我的formController有问题吗?

更新

我试着用这种方式:

ngOnInit() {

        if( this.senderFormattedAddress ){
            this.senderAddress.setValue( this.senderFormattedAddress );
            this.senderAddress.markAsTouched();
        }
    }

仍然没有运气!

1 个答案:

答案 0 :(得分:0)

我的身体似乎有些不好:

验证器模式如:senderAddress = new FormControl("", [Validators.required, Validators.pattern(/^\S*$/)]);我一直提出问题。

现在我删除了替换为:

senderAddress = new FormControl("", [Validators.required]);

现在工作正常。