/** * validate * * @param DataInterface $data * * @return void * * @throws ValidateFailException */ protected function validate(DataInterface $data) { $validator = new EmailValidator(); if (!$validator->validate($data->email)) { throw new ValidateFailException(Translator::translate($this->langPrefix . 'message.email.invalid')); } $form = $this->model->getForm('registration', 'user'); $this->model->validate($data->dump(), $form); if (!$data->password) { throw new ValidateFailException(Translator::translate($this->langPrefix . 'message.password.not.entered')); } if ($data->password != $data->password2) { throw new ValidateFailException(Translator::translate($this->langPrefix . 'message.password.not.match')); } unset($data->password2); }