diff --git a/src/angular/components/send/add-edit.component.ts b/src/angular/components/send/add-edit.component.ts index be49e176dac..bd307a4542e 100644 --- a/src/angular/components/send/add-edit.component.ts +++ b/src/angular/components/send/add-edit.component.ts @@ -114,7 +114,9 @@ export class AddEditComponent implements OnInit { } get expirationDateTimeFallback() { - return `${this.expirationDateFallback}T${this.expirationTimeFallback}`; + return this.nullOrWhiteSpaceCount([this.expirationDateFallback, this.expirationTimeFallback]) > 0 ? + null : + `${this.expirationDateFallback}T${this.expirationTimeFallback}`; } get deletionDateTimeFallback() { @@ -175,7 +177,12 @@ export class AddEditComponent implements OnInit { async submit(): Promise { if (!this.isDateTimeLocalSupported) { this.deletionDate = this.deletionDateTimeFallback; - if ((this.editMode && this.expirationDateFallback != null) || this.expirationDateSelect === 0) { + if (this.nullOrWhiteSpaceCount([this.expirationDateFallback, this.expirationTimeFallback]) === 1) { + this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), + this.i18nService.t('expirationDateAndTimeRequired')); + return; + } + if (this.editMode || this.expirationDateSelect === 0) { this.expirationDate = this.expirationDateTimeFallback; } } @@ -252,6 +259,8 @@ export class AddEditComponent implements OnInit { clearExpiration() { this.expirationDate = null; + this.expirationDateFallback = null; + this.expirationTimeFallback = null; } copyLinkToClipboard(link: string) { @@ -333,4 +342,8 @@ export class AddEditComponent implements OnInit { this.showPassword = !this.showPassword; document.getElementById('password').focus(); } + + protected nullOrWhiteSpaceCount(strarray: string[]): number { + return strarray.filter(str => str == null || str.trim() === '').length; + } }