0

MultipleCheckboxリストのチェックボックスが選択されていない場合、フォームの検証が失敗するという問題、特に問題に苦しんでいます。(詳細はこちら

Zend\Form\Element\Checkboxこの問題を回避するには、メソッドをオーバーライドするカスタムのものに置き換えたいgetInputSpecification():

Checkbox.php

namespace My\Form\Element;
use Zend\Form\Element\Checkbox as ZendCheckbox;
class Checkbox extends ZendCheckbox
{
    public function getInputSpecification()
    {
        $spec = parent::getInputSpecification();
        $spec['required'] = false;
        return $spec;
    }
}

module.config.php

return [
    'form_elements' => [
        'invokables' => [
            'Zend\Form\Element\Checkbox' => 'My\Form\Element\Checkbox',
        ],
    ]
];

しかし、私のカスタムCheckboxクラスは Zend の on を置き換えていません。完全に無視されているわけではありません。Xdebug を使用すると、場合によっては使用されることがわかります(RadioButton要素や単一Checkbox要素など)。しかし、他の場合(特に my のチェックボックスの場合MultiCheckbox)はそうではありません。

私は何を間違っていますか?Zend\Form\Elementアプリケーション全体の a を置き換える方法は?

4

0 に答える 0