/**
  * @return void
  * @desc Create DataValidator objects to validate the edit control
  */
 public function CreateValidators()
 {
     require_once 'data/validation/numeric-validator.class.php';
     require_once 'data/validation/length-validator.class.php';
     if ($this->b_user_is_match_admin) {
         require_once 'data/validation/required-field-validator.class.php';
         $this->AddValidator(new LengthValidator('title', 'Please make the match title shorter', 0, 100));
         $this->AddValidator(new RequiredFieldValidator(array('type'), 'Please select a match type'));
         $this->AddValidator(new NumericValidator('type', 'The match type identifier should be a number'));
     }
     $this->EnsureAggregatedEditors();
     if ($this->b_user_is_match_owner or $this->b_user_is_match_admin) {
         $this->a_validators = array_merge($this->a_validators, $this->fixture_editor->GetValidators());
     }
     if ($this->b_user_is_match_admin) {
         $this->AddValidator(new NumericValidator('season', 'The season identifier should be a number'));
         $this->a_validators = array_merge($this->a_validators, $this->season_editor->GetValidators());
     }
     $this->AddValidator(new NumericValidator($this->GetNamingPrefix() . 'Result', 'The result identifier should be a number'));
     require_once 'data/validation/mutually-exclusive-validator.class.php';
     $not_cancelled = array(0, -1, -2, -3, -4, -5, -6, -7, -8, -9, 5);
     $this->AddValidator(new MutuallyExclusiveValidator(array($this->GetNamingPrefix() . 'BatFirst', $this->GetNamingPrefix() . 'Result'), "Select who batted first or why the match wasn't played, not both", array("", $not_cancelled)));
 }