diff --git a/lib/core/src/lib/form/components/widgets/core/form-field.model.spec.ts b/lib/core/src/lib/form/components/widgets/core/form-field.model.spec.ts index d04ba3a01d..53ec7f1317 100644 --- a/lib/core/src/lib/form/components/widgets/core/form-field.model.spec.ts +++ b/lib/core/src/lib/form/components/widgets/core/form-field.model.spec.ts @@ -313,6 +313,33 @@ describe('FormFieldModel', () => { expect(form.values['datetime']).toEqual(expectedDateTimeFormat); }); + it('should set the value to null when the value is null', () => { + const form = new FormModel(); + const field = new FormFieldModel(form, { + fieldType: 'FormFieldRepresentation', + id: 'datetime', + name: 'date and time', + type: 'datetime', + value: null, + required: false, + readOnly: false, + params: { + field: { + id: 'datetime', + name: 'date and time', + type: 'datetime', + value: null, + required: false, + readOnly: false + } + }, + dateDisplayFormat: 'YYYY-MM-DD HH:mm' + }); + + expect(field.value).toBe(null); + expect(form.values['datetime']).toEqual(null); + }); + it('should parse the checkbox set to "true" when it is readonly', () => { const form = new FormModel(); const field = new FormFieldModel(form, { diff --git a/lib/core/src/lib/form/components/widgets/core/form-field.model.ts b/lib/core/src/lib/form/components/widgets/core/form-field.model.ts index e49b79c9f9..60c3e01e81 100644 --- a/lib/core/src/lib/form/components/widgets/core/form-field.model.ts +++ b/lib/core/src/lib/form/components/widgets/core/form-field.model.ts @@ -451,7 +451,7 @@ export class FormFieldModel extends FormWidgetModel { this.value = DateFnsUtils.formatDate(new Date(), this.dateDisplayFormat); } - const dateTimeValue = new Date(this.value); + const dateTimeValue = this.value !== null ? new Date(this.value) : null; if (isValidDate(dateTimeValue)) { this.form.values[this.id] = dateTimeValue.toISOString();