【问题标题】:Angular5 Custom Validator for Date MinDate Min 的 Angular5 自定义验证器
【发布时间】:2019-08-05 12:26:19
【问题描述】:

我正在尝试为日期输入创建验证器。

所以我写了这段代码,但它没有按预期工作!

export class CustomValidators {
  static dateMinimum(date: string): ValidatorFn {
    return (control: AbstractControl): ValidationErrors | null => {
      if (control.value == null) {
        return null;
      }

      const controlDate = moment(control.value, FORMAT_DATE);

      if (!controlDate.isValid()) {
        return null;
      }

      const validationDate = moment(date);

      return controlDate.isAfter(validationDate) ? null : {
        'date-minimum': {
          'date-minimum': validationDate.format(FORMAT_DATE),
          'actual': controlDate.format(FORMAT_DATE)
        }
      };
    };
  }
}

我收到了这个错误

ERROR Error: Expected validator to return Promise or Observable.at toObservable (forms.js:749)

我真的不知道哪件事不正确...我找到了很多关于如何创建不带参数的自定义验证器的示例,但没有一个带参数的示例...

我需要像这样使用验证器:

    this.projectForm = this.builder.group({
      date: ['', Validators.required, CustomValidators.dateMinimum('2018-12-12')],
    });

【问题讨论】:

  • 你能不能...分享你的样本

标签: angular angular-validation


【解决方案1】:

一切正常......

问题出在表单创建本身...

date: ['', Validators.required, CustomValidators.dateMinimum('2018-12-12')],

应该是

date: ['', [Validators.required, CustomValidators.dateMinimum('2018-12-12')]],

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 2020-07-15
    • 1970-01-01
    相关资源
    最近更新 更多