Home Coding symfony conditional validation

symfony conditional validation

by Ben

Below are the snippets on how to implement a conditional validation in the form. i.e. validate field A if field B is true

As discussed in this tutorial (though it is for symfony 1.2, it will works in 1.4), the key thing is to set a post validator to validate values after the initial validation.

Assuming you have two fields – one checkbox and one textfield.
And you want the textfield to be filled in if the checkbox is ticked.

Here’s how you do it.

// lib\form\doctrine\MyForm.class.php

class MyForm extends BaseContestForm
  public function configure()

    // add a post validator
      new sfValidatorCallback(array('callback' => array($this, 'validateTextField')))


  public function validateTextField($validator, $values)
    if ($values['myCheckbox'])
      $this->validatorSchema['myTextField'] = new sfValidatorString(array(
          'required'   => true,
          'max_length' => 50,
          'min_length' => 1

    return $values;


You may also like

Leave a Comment