/**
  * 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;
 }