public function validate() { $result = parent::validate(); if (intval($this->OriginSurveyID) <= 0) { $result->error('you need to specify a origin survey!'); } if (intval($this->OriginFieldID) <= 0) { $result->error('you need to specify a origin field!'); } $survey_id = isset($_REQUEST['survey_template_id']) ? intval($_REQUEST['survey_template_id']) : $this->TargetSurveyID; $current_template = SurveyTemplate::get()->byID($survey_id); $old_mapping = $current_template->MigrationMappings()->first(); if (!is_null($old_mapping) && intval($old_mapping->OriginSurveyID) !== intval($this->OriginSurveyID)) { $result->error('you need to specify the same origin survey for all your mappings'); } return $result; }