/** * @param FormSubmission $submissionModel * @throws \Exception */ public function __construct(FormSubmission $submissionModel) { if (!isset($submissionModel->form_id) || !is_array($submissionModel->data)) { throw new \Exception(Yii::t("app", "DataValidator needs the Form ID and Data attributes.")); } $this->data = $submissionModel->data; $this->dataModel = FormData::findOne(['form_id' => $submissionModel->form_id]); $this->fields = $this->dataModel->getFields(); $this->uniqueFields = $this->dataModel->getUniqueFields(); $this->requiredFileLabels = $this->dataModel->getRequiredFileLabels(); $this->requiredLabels = $this->dataModel->getRequiredLabels(); $this->checkboxValues = $this->dataModel->getCheckboxValues(); $this->radioValues = $this->dataModel->getRadioValues(); $this->optionValues = $this->dataModel->getOptionValues(); }