На самом деле гораздо проще и понятнее, если вы определяете свой редактор как переменную, вы можете просто обратиться к нему в методе проверки полей и получить активную запись, например:
// create editor as a variable
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1,
autoCancel: false
});
// referring to the edited record in the validator function
{
xtype: 'datecolumn',
header: 'Comp Date',
dataIndex: 'comp_date',
width: 100,
format: 'j-M-Y',
editor: {
xtype: 'datefield',
format: 'j-M-Y',
validator: function(value) {
var record = cellEditing.getActiveRecord(); // get active record
if (Ext.Date.parse(value, 'j-M-Y') < record.get('start_date')) {
return 'Cannot complete before start date';
} else return true;
}
}
}