【发布时间】:2019-02-20 09:38:43
【问题描述】:
我是角度开发的新手,我被困在需要对动态添加的行执行验证的地步。
我使用模板驱动的表单。我有两个字段 ValidFrom 和 ValidTo 以及一组停电日期{fromdate and todate}。型号如下
export interface Rooms {
validFrom?: Date | string;
validTo?: Date | string;
blackOutDateVM?: BlackOutDateVM[];
}
export class BlackOutDateVM {
validFrom?: Date;
validTo?: Date;
}
目前,当用户要提交表单以验证日期时,我会使用此功能。
ValidateRateForDatesAndTax(): boolean {
this.isFormValid = true;
if (this.rateDetail.isContainsBlackOutDates === true) {
this.rateDetail.blackOutDateVM.forEach(item => {
if (item.validFrom < item.validTo) {
this.rateValidator.isBlackOutDatesValid = false;
} else {
this.rateValidator.isBlackOutDatesValid = true;
}
if (item.validFrom === null || item.validFrom === undefined) {
this.rateValidator.isBlackOutDatesValid = false;
this.isFormValid = false;
} else {
this.rateValidator.isBlackOutDatesValid = true;
}
if (item.validTo === null || item.validTo === undefined) {
this.rateValidator.isBlackOutDatesValid = false;
this.isFormValid = false;
} else {
this.rateValidator.isBlackOutDatesValid = true;
}
if (
item.validFrom === null ||
item.validFrom === undefined ||
(item.validTo === null || item.validTo === undefined)
) {
if (
item.validFrom > this.rateDetail.validTo ||
item.validTo < this.rateDetail.validFrom
) {
this.rateValidator.isBlackOutDatesValid = false;
this.isFormValid = false;
} else {
this.rateValidator.isBlackOutDatesValid = true;
}
}
});
}
return this.isFormValid;
}
我想确保不适用日期应在有效起始日期和有效截止日期范围内。谁能告诉我如何以角度执行此验证?
【问题讨论】:
-
您想通过视图(直接在模板上)或在您的组件 ts 中验证这一点?
-
我想通过 UI 验证这一点,比如创建指令...
-
好的,你能告诉我们你现在的 UI 是什么来帮助你完成你被卡住的部分吗?
-
附上截图,请查看。
-
请分享使用代码,到目前为止您已经尝试过了。所以其他人可以解决你的问题
标签: angular validation angular6