Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:无法创建属性';验证器';关于字符串';abc@gmail.com';在设置控制_Javascript_Angular_Angular2 Routing_Angular2 Template_Angular2 Forms - Fatal编程技术网

Javascript TypeError:无法创建属性';验证器';关于字符串';abc@gmail.com';在设置控制

Javascript TypeError:无法创建属性';验证器';关于字符串';abc@gmail.com';在设置控制,javascript,angular,angular2-routing,angular2-template,angular2-forms,Javascript,Angular,Angular2 Routing,Angular2 Template,Angular2 Forms,我在formGroup中面临问题。首先基于URL,我获取一些值并调用API来检索字段前文本的特定用户数据 register.html <form [formGroup]="form" (ngSubmit)="onSubmit(form.value)" class="form-horizontal"> <div class="form-group row"> <label for="inputEmail3" class="col-sm-4 "&

我在
formGroup
中面临问题。首先基于URL,我获取一些值并调用API来检索字段前文本的特定用户数据

register.html

<form [formGroup]="form" (ngSubmit)="onSubmit(form.value)" class="form-horizontal">
    <div class="form-group row">
        <label for="inputEmail3" class="col-sm-4 ">Username</label>
        <div class="col-sm-8">
            <input [formControl]="email" type="text" class="form-control" id="inputEmail3" placeholder="Email Address" [readonly]="isReadOnly">
        </div>
    </div>
</form>
错误详细信息:

TypeError:无法在字符串上创建属性“validator”abc@gmail.com'
在设置控制(http://localhost:3004/vendor.dll.js:9739:23)
在FormControlDirective.ngOnChanges(http://localhost:3004/vendor.dll.js:44196:89)
在Wrapper_FormControlDirective.ngDoCheck(/ReactiveFormsModule/FormControlDirective/Wrapper.ngfactory.js:50:18)

有关每种表单的完整信息,请参阅网站上的被动表单和模板驱动表单。您缺少对表单控件进行分组和在模板中注册控件的实际语法。这两种语法在不同的情况下都有效

<input type="text" [formControl]="name">
<input type="text" formControlName="firstName">

我遗漏了标记中formGroup中的方括号,如下所示

<form formGroup="form">
</form>

它抛出的错误与

错误类型错误:无法在字符串“form”上创建属性“validator”

一旦在formGroup中添加方括号(见下文),错误就会消失

<form [formGroup]="form">....</form>
。。。。

@higunjan请参考答案是同意,但
this.email=this.username=userObj.data[0]。email
我得到了值,但没有在email字段中设置。实际上,您希望将输出设置为输入字段。对吗?是的对
我可以使用“[(ngModel)]=”电子邮件吗。这是可行的,但有任何副作用。最好不要将ngModel与formControlName一起使用,因为一个是模板驱动的,另一个是模型驱动的。没有在模块的提供程序中声明我的服务会导致相同的错误。
<input type="text" [formControl]="name">
<input type="text" formControlName="firstName">
<form formGroup="form">
</form>
<form [formGroup]="form">....</form>