mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-09-24 14:31:41 +00:00
[ADF-1499] fixed validation and value setting on date widget (#2298)
* [ADF-1499] added fix for date widget usage * [ADF-1499] improved date validator to match new date widget material
This commit is contained in:
@@ -150,7 +150,7 @@ export class DateFieldValidator implements FormFieldValidator {
|
||||
if (DateFieldValidator.isValidDate(field.value, field.dateDisplayFormat)) {
|
||||
return true;
|
||||
}
|
||||
field.validationSummary = 'Invalid date format';
|
||||
field.validationSummary = field.dateDisplayFormat;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -178,7 +178,12 @@ export class MinDateFieldValidator implements FormFieldValidator {
|
||||
}
|
||||
|
||||
// remove time and timezone info
|
||||
let d = moment(field.value.split('T')[0], dateFormat);
|
||||
let d;
|
||||
if (typeof field.value === 'string') {
|
||||
d = moment(field.value.split('T')[0], dateFormat);
|
||||
} else {
|
||||
d = field.value;
|
||||
}
|
||||
let min = moment(field.minValue, dateFormat);
|
||||
|
||||
if (d.isBefore(min)) {
|
||||
@@ -211,7 +216,12 @@ export class MaxDateFieldValidator implements FormFieldValidator {
|
||||
}
|
||||
|
||||
// remove time and timezone info
|
||||
let d = moment(field.value.split('T')[0], dateFormat);
|
||||
let d;
|
||||
if (typeof field.value === 'string') {
|
||||
d = moment(field.value.split('T')[0], dateFormat);
|
||||
} else {
|
||||
d = field.value;
|
||||
}
|
||||
let max = moment(field.maxValue, dateFormat);
|
||||
|
||||
if (d.isAfter(max)) {
|
||||
|
@@ -324,16 +324,12 @@ export class FormFieldModel extends FormWidgetModel {
|
||||
}
|
||||
break;
|
||||
case FormFieldTypes.DATE:
|
||||
let dateValue;
|
||||
if (NumberFieldValidator.isNumber(this.value)) {
|
||||
dateValue = moment(this.value);
|
||||
} else {
|
||||
dateValue = moment(this.value, this.dateDisplayFormat);
|
||||
}
|
||||
let dateValue = moment(this.value, this.dateDisplayFormat, true);
|
||||
if (dateValue && dateValue.isValid()) {
|
||||
this.form.values[this.id] = `${dateValue.format('YYYY-MM-DD')}T00:00:00.000Z`;
|
||||
} else {
|
||||
this.form.values[this.id] = null;
|
||||
this._value = this.value;
|
||||
}
|
||||
break;
|
||||
case FormFieldTypes.NUMBER:
|
||||
|
@@ -66,9 +66,12 @@ export class DateWidgetComponent extends WidgetComponent implements OnInit {
|
||||
let momentDate = moment(newDateValue, this.field.dateDisplayFormat, true);
|
||||
if (!momentDate.isValid()) {
|
||||
this.field.validationSummary = this.field.dateDisplayFormat;
|
||||
this.field.value = null;
|
||||
}else {
|
||||
this.field.value = newDateValue;
|
||||
}
|
||||
}else {
|
||||
this.field.value = null;
|
||||
}
|
||||
this.checkVisibility(this.field);
|
||||
}
|
||||
|
Reference in New Issue
Block a user