Here is what I did, in my BaseForm class I added this method:
public function setValue($field, $value){
if(!in_array($field, array_keys($this-values))){
throw new sfException(sprintf('Unkown field %s in
%s object.',
$field, get_class($this)));
Which action are you in, executeNew(), executeCreate(), executeEdit()
or any other one?
The thing in general is that the defaults are used for filling the
widgets with default data when you render the form for displaying it
to the user. It's not taken into the object itself when you are about
to