[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:
Vito
2017-09-05 04:45:22 -07:00
committed by Mario Romano
parent 50e61a0d08
commit 233355ffe7
3 changed files with 18 additions and 9 deletions

View File

@@ -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)) {

View File

@@ -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:

View File

@@ -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);
}