In einem Fieldset
habe ich einen Element\Radio
foo
und Element\Text
bar
.Wie bekomme ich die ausgewählte Option eines Radion Button Elements in 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',
...
],
...
]);
}
Die Validierung des Feldes bar
auf der ausgewählten foo
Option abhängig ist. Es ist einfach zu implementieren, wenn ich den ausgewählten Wert von foo
bekommen kann:
public function getInputFilterSpecification()
{
return [
'bar' => [
'required' => $this->get('foo')->getCheckedValue() === 'a',
...
],
];
}
Aber es gibt keine Methode Radio#getCheckedValue()
. Nun, ich kann über die $this->get('foo')->getOptions()['value_options']
iterieren, aber ist es wirklich die einzige Möglichkeit?
Wie erhalten (in der Fieldset#getInputFilterSpecification()
) die ausgewählte Option einer Zend\Form\Element\Radio
?