title: Why are Symfony2 validation propertyPath valus in square brackets?
body: <p>I am validating some values:</p>
  
  <pre><code>$collectionConstraint = new Collection(array(
      'email' =&gt; array(
          new NotBlank(),
          new Email(),
      ),
      'password'  =&gt; array(
           new NotBlank(),
           new MinLength(array('limit' =&gt; 6)),
           new MaxLength(array('limit' =&gt; 25)),
      ),
  ));
  $data = array('email' =&gt; $this-&gt;getRequest()-&gt;get('email'), 'password' =&gt; $this-&gt;getRequest()-&gt;get('password'));
  $errors = $this-&gt;get('validator')-&gt;validateValue($data, $collectionConstraint);
  </code></pre>
  
  <p>But for some reason the fields (propertyPath) are stored with square brackets - I'd like to understand why Sf does that. I have to manually remove all the brackets which seems absurd so I think I am missing some functionality somewhere.</p>
  
  <p>Dump of $errors:</p>
  
  <pre><code>Symfony\Component\Validator\ConstraintViolationList Object
  (
      [violations:protected] =&gt; Array
          (
              [0] =&gt; Symfony\Component\Validator\ConstraintViolation Object
                  (
                      [messageTemplate:protected] =&gt; This value should not be blank
                      [messageParameters:protected] =&gt; Array
                          (
                          )
  
                      [root:protected] =&gt; Array
                          (
                              [email] =&gt; 
                              [password] =&gt; 
                          )
  
                      [propertyPath:protected] =&gt; [email]
                      [invalidValue:protected] =&gt; 
                  )
  
              [1] =&gt; Symfony\Component\Validator\ConstraintViolation Object
                  (
                      [messageTemplate:protected] =&gt; This value should not be blank
                      [messageParameters:protected] =&gt; Array
                          (
                          )
  
                      [root:protected] =&gt; Array
                          (
                              [email] =&gt; 
                              [password] =&gt; 
                          )
  
                      [propertyPath:protected] =&gt; [password]
                      [invalidValue:protected] =&gt; 
                  )
  
          )
  
  )
  </code></pre>
  
  <p>Even the toString function is useless.</p>
  
  <pre><code>"[email]: This value should not be blank","[password]: This value should not be blank"
  </code></pre>