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>