Сравните две даты в тлеющих углях

Я хочу, чтобы валидация даты окончания была максимальной или равной дате вступления в силу, если дата окончания существует

effectiveDate: validator('presence', {
presence: true,
message: 'Please enter a valid value'
}), 

endDate: validator('presence', {
value(model, attribute) {
// Validate a value that is not the current attribute
var effectiveDate  = new Date(this.get('model').get('effectiveDate'));
var endDate  = new Date(this.get('model').get('endDate'));
 presence: effectiveDate > endDate;
},
message: 'Please enter a date value'
})

Дата окончания не обязательна

2 ответа

Решение

Просто сделано с

endDate: validator('date', {

dependentKeys: ['effectiveDate'],
after : function () {
    return this.get('model').get('effectiveDate');
}
}),

Если вы используете момент.js для форматирования даты и т. Д., Вы можете сравнить две даты с ".diff", как

var now = moment();
// new date if "your date" is formatted
moment(new Date(this.get('your_date'))).diff(now,'days')
// result is difference in days from given date to now

Искать "Недопустимые моменты" в документах

Другие вопросы по тегам