/** * Run extra validation for the fields being edited. */ protected function validate() { parent::validate(); if ($this->post_exists('position_option') && $this->post('position_option') == 'create' && $this->new_position instanceof iHRIS_Position) { $this->new_position->validate(); } if ($this->isPost() && $this->old_position instanceof iHRIS_Position) { if ($this->getPrimary()->start_date->compare($this->old_person_position->start_date) != -1) { $this->getPrimary()->setInvalidMessage('start_date', 'bad_date'); } if (!$this->old_position->getField('status')->isValid()) { $this->old_position->setInvalidMessage('status', 'required'); } //I2CE::raiseMessage("in validate " . $this->old_position->getField('status')->getDBValue() ); if (!$this->old_person_position->getField('reason')->isValid()) { $this->old_person_position->setInvalidMessage('reason', 'required'); } } }