【发布时间】:2017-09-08 01:39:47
【问题描述】:
我正在尝试根据其他字段验证表单字段值,因此我编写了一个自定义验证器,当我尝试获取其他字段的值时它会抛出错误我尝试了以下代码,请帮助我提前感谢
export class CreatesessionComponent implements OnInit {
eventform : FormGroup ;
constructor(private formBuilder: FormBuilder) {
}
ngOnInit() {
this.eventform = this.formBuilder.group({
eventname : new FormControl(''[Validators.required,Validators.pattern('[A-Za-z]+')]),
userlive : new FormControl('',[Validators.required,this.maxuser]),
totaluser :new FormControl('',[Validators.required,this.totaluser])
});
}
totaluser(control : FormGroup) : {[s:string ]: boolean} {
console.log(control.controls['eventname'].value)
// if(control.value > 20){
// return { total : true };
// }
return null;
}
在控制台中出现错误,因为无法读取 'eventname' undefined 的属性
【问题讨论】:
-
eventname在名为this.eventForm的表单中,而不是在您传递的表单控件中。 -
所以我需要将 this.eventform 传递给 totaluser() ??
-
nop,你只需要如下使用:
this.eventForm.get('eventname').value. -
当我在 totaluser 函数中使用 this.eventForm.get('eventname').value 时,它说属性 'eventForm' 不存在
-
奇怪。你错过了在课堂上添加
eventForm: Formgroup;吗?
标签: angular angular2-forms angular2-formbuilder