/**
  * @see Form::validate()
  */
 public function validate()
 {
     parent::validate();
     if ($this->action == 'spider_save') {
         if (empty($_POST['spiderIdentifier'])) {
             throw new UserInputException('spiderIdentifier', 'empty');
         } else {
             if (empty($_POST['spiderName'])) {
                 throw new UserInputException('spiderName', 'empty');
             } else {
                 if (AdminTools::validateSpiderExists($this->spiderID, $this->spiderCur)) {
                     throw new UserInputException('spiderIdentifier', 'exists');
                 }
             }
         }
     } else {
         if ($this->action == 'board') {
             if (empty($_POST['boardSrcID'])) {
                 throw new UserInputException('boardSrc', 'empty');
             } else {
                 if (empty($_POST['boardTgtID'])) {
                     throw new UserInputException('boardTgt', 'empty');
                 } else {
                     if ($_POST['boardTgtID'] == $_POST['boardSrcID']) {
                         throw new UserInputException('boardTgt', 'equal');
                     } else {
                         if (!isset($_POST['boardUser']) && !isset($_POST['boardGroups']) && !isset($_POST['boardMods'])) {
                             throw new UserInputException('boardRights', 'empty');
                         }
                     }
                 }
             }
         } else {
             if ($this->action == 'prefix') {
                 if (empty($_POST['boardPrefSrcID'])) {
                     throw new UserInputException('boardPrefSrc', 'empty');
                 } else {
                     if (empty($_POST['boardPrefTgtID'])) {
                         throw new UserInputException('boardPrefTgt', 'empty');
                     } else {
                         if ($_POST['boardPrefSrcID'] == $_POST['boardPrefTgtID']) {
                             throw new UserInputException('boardPrefTgt', 'equal');
                         }
                     }
                 }
             } else {
                 if ($this->action == 'ugrps') {
                     if (empty($_POST['ugrpSrcID'])) {
                         throw new UserInputException('ugrpSrc', 'empty');
                     } else {
                         if (empty($_POST['ugrpTgtID'])) {
                             throw new UserInputException('ugrpTgt', 'empty');
                         } else {
                             if ($_POST['ugrpTgtID'] == $_POST['ugrpSrcID']) {
                                 throw new UserInputException('ugrpTgt', 'equal');
                             }
                         }
                     }
                 } else {
                     if ($this->action == 'userOptions') {
                         if (empty($_POST['optionID'])) {
                             throw new UserInputException('optionID', 'empty');
                         } else {
                             if (!empty($_POST['userOptionExclUgrps']) && !AdminTools::validateCommaSeparatedIntList($_POST['userOptionExclUgrps'])) {
                                 throw new UserInputException('userOptionExclUgrps', 'commaSeparatedIntList');
                             }
                         }
                     } else {
                         if ($this->action == 'userDefaultOptions') {
                             if (empty($_POST['optionDefaultID'])) {
                                 throw new UserInputException('optionDefaultID', 'empty');
                             }
                         } else {
                             if ($this->action == 'setLanguage') {
                                 if (empty($_POST['languageID'])) {
                                     throw new UserInputException('languageID', 'empty');
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }