uks*_*ksz 4 angular2-forms angular
我想知道是否有任何方法来设置值并更新表单控件的有效性.鉴于以下内容:
this.updateForm = this._formBuilder.group({
user: ['',Validators.required]
});
Run Code Online (Sandbox Code Playgroud)
我有一些关于更改触发器的指令,触发以下内容:
changeUserSelection(value){
this.updateForm.controls['user'].value = value // doesnt trigger validation?
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何设置值,并触发此字段的验证.按照我的方式这样做,不会触发验证.
谢谢
根据angular2的最终版本 updateValue已更改为,setValue
所以新语法应该是这样的
changeUserSelection(value){
this.updateForm.controls['user'].setValue(value);
}
Run Code Online (Sandbox Code Playgroud)
对我来说setValue,patchValue没有自己完成这项工作。我为触发验证所做的操作如下:
form.controls[field].setValue(value);
form.controls[field].markAsTouched();
form.controls[field].markAsDirty();
form.controls[field].updateValueAndValidity();
Run Code Online (Sandbox Code Playgroud)
这样我的验证消息就可以正确触发。我尝试过没有,updateValueAndValidity但没有成功。
您应该改用该updateValue方法:
changeUserSelection(value){
this.updateForm.controls['user'].updateValue(value);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15371 次 |
| 最近记录: |