基于其他字段值的角度2验证?

时间:2017-04-12 10:18:13

标签: angular angular2-forms angular2-formbuilder

我尝试根据其他字段验证表单字段值,所以我写了一个自定义验证器,当我试图获取其他字段时抛出错误我已经尝试过以下代码,请帮助我提前感谢

   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'未定义

1 个答案:

答案 0 :(得分:7)

我目前正在做这样的事情。为了使它工作,我得到控件组,然后在该组中搜索所需的控件

totaluser(control : AbstractControl) : {[s:string ]: boolean} {
  const group = control.parent;
  if (group) {
    console.log(group.controls['eventname'].value)
  }
  return null;
}