/** * validate form * @requestParam string field [userloginext01/userloginext02/email/birthdate] * @requestParam string userloginext01 //CE-413 signup spam attack - changing username field to userloginext01 * @requestParam string email * @requestParam string userloginext02 //CE-413 signup spam attack - changing password field to userloginext02 * @requestParam string birthmonth * @requestParam string birthday * @requestParam string birthyear * @responseParam string result [ok/error] * @responseParam string msg - result message * @responseParam string errParam - error param */ public function formValidation() { $field = $this->request->getVal('field', ''); $signupForm = new UserLoginForm($this->wg->request); $signupForm->load(); switch ($field) { case 'userloginext01': $signupForm->initValidationUsername(); break; case 'email': $signupForm->initValidationEmail() && $signupForm->initValidationRegsPerEmail(); break; case 'birthdate': $signupForm->initValidationBirthdate(); break; default: throw new MWException("Unhandled case value"); } $this->result = $signupForm->msgType == 'error' ? $signupForm->msgType : 'ok'; $this->msg = $signupForm->msg; $this->errParam = $signupForm->errParam; }