title: Symfony 1.4 form binding problems
body: <p>I've been browsing for answers for a while and I've given in to asking a question here. I have several working sf forms, but for some reason this one doesn't want to do it. I have a feeling I am missing a small detail I've been lucky to overlook without errors in the past.</p>
  
  <p>Here is the schema:</p>
  
  <pre><code>public function configure()
  {
  
    //widgets
    $this-&gt;setWidgets(array(
      'study_area' =&gt; new sfWidgetFormSelect( array( 'label' =&gt; 'Select Study Area', 'choices' =&gt; self::study_areas() )),
      'degree_level' =&gt; new sfWidgetFormSelect( array( 'label' =&gt; 'Select Degree Level', 'choices' =&gt; self::degree_levels() )),
      'campusonline' =&gt; new sfWidgetFormSelectRadio( array( 'choices' =&gt; self::campus_online(), 'class' =&gt; 'radiolabel' )),
      'zip' =&gt; new sfWidgetFormInputText( array( 'label' =&gt; 'Zip code:')),
    ));
  
    //validators
    $this-&gt;setValidators(array(
      'study_area'   =&gt; new sfValidatorString( array( 'required' =&gt; true )),
      'degree_level' =&gt; new sfValidatorString( array( 'required' =&gt; true )),
      'campusonline' =&gt; new sfValidatorString( array( 'required' =&gt; true )),
      'zip'          =&gt; new sfValidatorString(array( 'required' =&gt; 'Please enter a valid zip.' )),
    ));
  
    //formatting, default values, name format, etc
    $this-&gt;getWidgetSchema()-&gt;getFormFormatter()-&gt;setRowFormat( '%label%%error%%field%%help%%hidden_fields%' );
    $this-&gt;setDefaults( array( 'study_area' =&gt; '', 'degree_level' =&gt; '', 'campusonline' =&gt; 1 ));
    $this-&gt;getWidgetSchema()-&gt;setLabel( 'campusonline', false );
    $this-&gt;errorSchema = new sfValidatorErrorSchema($this-&gt;validatorSchema);
    $this-&gt;validatorSchema['zip'] = new sfValidatorZip(array('required' =&gt; true));
  
  }
  </code></pre>
  
  <p>And here is the action:</p>
  
  <pre><code>$this-&gt;form = new SearchWidgetForm();
  
  if ($request-&gt;isMethod( 'post' ))
  {
    $this-&gt;form-&gt;bind($request-&gt;getParameter( 'searchwidget' ));
  
    if ($this-&gt;form-&gt;isValid())
    {
      $this-&gt;redirect('@search_widget');
    }
    else
    {
      print 'nope';
      $this-&gt;form-&gt;debug();
      var_dump($request-&gt;getParameter( 'searchwidget' ));
      die;
    }
  }
  </code></pre>
  
  <p>And here is what results from that <code>else</code>:</p>
  
  <pre><code>nope
  study_area: Required.
  
  degree_level: Required.
  
  campusonline: Required.
  
  zip: Required.
  
  _csrf_token: Required.
  
  null
  </code></pre>
  
  <p>I have also checked that <code>var_dump( $this-&gt;form-&gt;isBound() );</code> produces 'true', which it does. So... The form is bound, but the array it should have become is null.</p>
  
  <p>Any ideas?</p>
  
  <p>Thanks in advance for any help. I would really appreciate it.</p>