第一:這是一個架構問題。請不要回答如何解決技術問題,這已經在幾個地方做,f.e:https://github.com/zendframework/zf2/issues/2761ZF2 - 爲什麼表單元素總是標記爲真
我似乎並沒有得到它。 ZF2中的表單元素不僅被標記爲必需的,而且還被硬編碼。
例\ Zend的\表格\元素\選擇
public function getInputSpecification()
{
$spec = array(
'name' => $this->getName(),
'required' => true,
);
if ($validator = $this->getValidator()) {
$spec['validators'] = array(
$validator,
);
}
return $spec;
}
我只是不明白使得這種不可選。我想直接使用ZF2 Elements,現在我必須擴展我需要使用的所有元素。
因爲在我們大多數的形式,我們有一些可選的元素,這意味着我們總是需要使用我們自己的派生類。
但是,這似乎只是錯誤的,所以我希望有人能夠幫助我解釋。
感謝您的回答,當然您是對的,這完全是基於意見的。 我也必須道歉,因爲當我寫這篇文章的時候我真的很沮喪,因爲ZF1需要大約5分鐘的設置不在那裏。當缺少某些東西時,我會尋找答案,爲什麼會被拋棄。 ZF2真的很棒,所以我想了解爲什麼要求的原因不再是一面旗子了,我想很長的路要問這個問題,因爲這不是一個錯誤。有一個制定的理由來決定,我想學習它。 – Dready
@Dready分離來自「關注分離」原則。 「Form \ Element」中的'required'屬性表示所需的HTML屬性。當涉及驗證時,您實際上需要將其設置在驗證器中。是的,ZF2需要大量的「新」思維方式,但一旦理解,它實際上更加清晰直觀。 – Sam