角材料2使用表单验证来验证日期选择器

时间:2018-07-08 18:04:41

标签: angular-material angular-material2

使用ngbDatePicker,我可以使用此验证器验证日期:

export function ngbDateIsValid(control: FormControl) {
    const dateStruct: NgbDateStruct = control.value;
    if (!dateStruct || !dateStruct.year || !dateStruct.month || !dateStruct.day) {
      return { validDate: true };
    }
    return null;
}

我希望它成为内联表单验证定义的一部分:

birthdate:[null,[ngbDateIsValid]]

然后在我的html中:

<span *ngIf="!rForm.controls['birthdate'].valid && rForm.controls['birthdate'].touched">message</span>

我已经设置了重要的日期选择器,但似乎无法复制上面的内容。

我有时用setValue()设置日期。而且,如果我将表单发回,我的日期也会正确显示为yyyy-mm-dd

如果用户选择或编辑日期并将其发布,它将返回很多带有getFullYear()等对象的对象。

我可以通过单击按钮进行检查,但我希望在html中的元素声明中进行表单验证。

0 个答案:

没有答案