function validate(){
if(!$this->value)return parent::validate();
$this->getValueList(); //otherwise not preloaded?
if(!isset($this->value_list[$this->value])){
$this->form->errors[$this->short_name]="This is not one of the offered values";
}
return parent::validate();
}
Somehow you should change that in your dropdown. You can extend the field
class Form_Field_MyDropdown extends Form_Field_DropDown {
function validate(){
if(!isset($this->value_list[$this->value])){
$this->value_list[$this->value]=true;
}
return parent::validate();
}
}