gpt4 book ai didi

使用表单生成器的 Angular 5 验证日期字段

转载 作者:太空狗 更新时间:2023-10-29 18:23:31 24 4
gpt4 key购买 nike

我有表单,我想在提交时验证日期字段,我正在使用表单生成器,我该怎么做( Angular 方式)?另一个问题是为什么我在日期字段中看不到 published_date 的值?我尝试搜索,但找不到输入日期字段的解决方案。

unamePattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
ngOnInit() {
this.book =
{
id: 55,
author_name : "vv",
published_date : new Date('01/02/2018'),
title : "cc"
};

this.form = this.formBuilder.group({
title : ['', Validators.required],
author : ['', Validators.required],
datePublish: ['', Validators.pattern(this.unamePattern)],
}
);
}
<input 
[(ngModel)]="book.published_date"
id="dateOfBirth"
class="form-control"
placeholder="yyyy-mm-dd"
name="dp"
ngbDatepicker
formControlName="datePublish"
#dp="ngbDatepicker">

<div class="input-group-append">
<button class="btn btn-outline-secondary" (click)="dp.toggle()" type="button">
<i class="fa fa-calendar" aria-hidden="true"></i>
</button>
</div>

最佳答案

如果你可以使用 momemt()那么很容易掌握日期时间的事情,你可以编写自己的验证器

import {AbstractControl} from '@angular/forms';
import * as moment from 'moment';

export class YourValidator {
static dateVaidator(AC: AbstractControl) {
if (AC && AC.value && !moment(AC.value, 'YYYY-MM-DD',true).isValid()) {
return {'dateVaidator': true};
}
return null;
}
}

在你的表单对象中你可以像这样使用它

import {YourValidator} from "....";

this.form = this.formBuilder.group({
title : ['', Validators.required],
author : ['', Validators.required],
datePublish: ['', Validators.compose([Validators.required, YourValidator.dateVaidator])],
});

Demo stackblitz.com/angular-date-validator

关于使用表单生成器的 Angular 5 验证日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51185265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com