title: ZF2 - Why are Form Elements always marked true
body: <p>first: this is an architecture question. Please don't answer how to solve the technical problem, that's already done in several places, f.e.: <a href="https://github.com/zendframework/zf2/issues/2761" rel="nofollow">https://github.com/zendframework/zf2/issues/2761</a></p>
  
  <p>I don't seem to get it. Form Elements in ZF2 are not only marked required but this is also hardcoded.</p>
  
  <p>Example \Zend\Form\Element\Select</p>
  
  <pre><code>    public function getInputSpecification()
  {
      $spec = array(
          'name' =&gt; $this-&gt;getName(),
          'required' =&gt; true,
      );
  
      if ($validator = $this-&gt;getValidator()) {
          $spec['validators'] = array(
              $validator,
          );
      }
  
      return $spec;
  }
  </code></pre>
  
  <p>I just cannot understand making this not optional. I want to use ZF2 Elements right out of the box, now i have to extend all elements i need to use. </p>
  
  <p>Since in most our forms we have some optional elements this means we always need to use our own derived classes. </p>
  
  <p>But that just seems wrong so i hope someone could help me out explaining.</p>