Fieldset
には、Element\Radio
foo
とElement\Text
bar
があります。Zend Framework 2でラジオボタン要素の選択されたオプションを取得する方法は?
public function init()
{
$this->add(
[
'type' => 'radio',
'name' => 'foo',
'options' => [
'label' => _('foo'),
'value_options' => [
[
'value' => 'a',
'label' => 'a',
'selected' => true
],
[
'value' => 'b',
'label' => 'b'
]
]
]
...
]);
$this->add(
[
'name' => 'bar',
'type' => 'text',
'options' => [
'label' => 'bar',
...
],
...
]);
}
フィールドbar
の検証は、選択foo
オプションに応じています。
public function getInputFilterSpecification()
{
return [
'bar' => [
'required' => $this->get('foo')->getCheckedValue() === 'a',
...
],
];
}
しかし、誰方法Radio#getCheckedValue()
がない:私はfoo
の選択された値を得ることができるかどうかは、実装が簡単です。さて、私は$this->get('foo')->getOptions()['value_options']
を繰り返し処理できますが、それは本当に唯一の方法ですか?
(Fieldset#getInputFilterSpecification()
で)選択されたオプションをZend\Form\Element\Radio
にするにはどうすればよいですか?