首先:这是一个架构问题。请不要回答如何解决技术问题,这已经在几个地方完成了,fe:https ://github.com/zendframework/zf2/issues/2761
我似乎不明白。ZF2 中的表单元素不仅标记为必需,而且也是硬编码的。
示例 \Zend\Form\Element\Select
public function getInputSpecification()
{
$spec = array(
'name' => $this->getName(),
'required' => true,
);
if ($validator = $this->getValidator()) {
$spec['validators'] = array(
$validator,
);
}
return $spec;
}
我只是无法理解这不是可选的。我想立即使用 ZF2 Elements,现在我必须扩展我需要使用的所有元素。
因为在我们的大多数表单中,我们都有一些可选元素,这意味着我们总是需要使用我们自己的派生类。
但这似乎是错误的,所以我希望有人能帮我解释一下。