FormGroup验证以“排他或”形式

时间:2018-11-12 10:39:11

标签: angular typescript validation formgroups

我有一个由3个输入字段组成的FormGroup:reservationCode,secretCode和条形码。

字段条形码仅是reserveCode +'-'+ secretCode。 (这是因为条形码是一个可以在文本中找到并且可以与复制粘贴功能一起使用的字段)

现在,仅当条形码具有值或ReservationCode和secretCode具有值时,使用这些字段的按钮才必须处于活动状态。

逻辑应类似于:“条形码|| ReservationCode && secretCode”

这是我在.ts中的formGroup的代码:

 this.voucherVerifyUserDataFormGroup = formBuilder.group({
  reservationCode: [''],
  secretCode: [''],
  barcode: ['']
});

我不知道如何管理formControl验证程序,以及是否必须创建自定义验证程序。

2 个答案:

答案 0 :(得分:1)

Router

答案 1 :(得分:0)

您可以使用* ngIf / disabled来实现。

<input type="button" *ngIf="isDataPresent" value="Paste">

组件:

get isDataPresent(){
  return this.voucherVerifyUserDataFormGroup.get('barcode').value || (this.voucherVerifyUserDataFormGroup.get('reservationCode').value && this.voucherVerifyUserDataFormGroup.get('secretCode').value);
}