public static function onValidate(ActiveRecord $Record, RecordValidator $validator)
 {
     $validator->validate(array('field' => 'Handle', 'required' => false, 'validator' => 'handle', 'errorMessage' => 'Handle can only contain letters, numbers, hyphens, and underscores'));
     // check handle uniqueness
     if ($Record->isFieldDirty('Handle') && !$validator->hasErrors('Handle') && $Record->Handle) {
         $ExistingRecord = $Record::getByHandle($Record->Handle);
         if ($ExistingRecord && $ExistingRecord->ID != $Record->ID) {
             $validator->addError('Handle', 'Handle already registered');
         }
     }
 }