【问题标题】:Greater than Cross field validation in Angular Validator大于 Angular Validator 中的跨字段验证
【发布时间】:2019-03-24 17:14:26
【问题描述】:

在我的表单中,一些字段依赖于其他字段。所以我想在值发生变化时验证控件。我知道 formgroup 上的全局验证器。但由于其他一些问题,我不想使用它。

场景:如果用户在 Car Amount 字段中输入基于该用户的值,则用户无法在 Premium Amount 文本框中输入大于值。

我在 'premiumAmount' 字段上应用了自定义验证器,但是当我更改 'carAmount' 字段中的值时,不会触发 premiumAmount 验证。

如何解决?

【问题讨论】:

标签: angular angular-reactive-forms


【解决方案1】:

这可以通过@rxweb/reactive-form-validators 的大于验证器来实现,而不是使自定义大于验证。

您只需要在您的表单组中的greatherThan 验证器中提及。这是代码:

 ngOnInit() {
        this.userFormGroup = this.formBuilder.group({
            carAmount:['',], 
            premiumAmount:['', RxwebValidators.greaterThan({fieldName:'carAmount' })], 
        });
    }

这里是forked stackblitz

【讨论】:

  • 我所做的与示例中的完全相同,但在编辑 carAmount 时我的验证错误不可见,仅编辑 premiumAmount 向我显示错误。示例场景:将 300 放入 premiumAmount 将 100 放入 carAmount 在我的情况下,该场景不会出现错误
猜你喜欢
  • 2020-07-06
  • 2011-01-05
  • 2010-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多