1
所以我有我的表单中的元素列表,其中之一是一个简单的是/否选项的选择框。当该字段为“否”时,我想使下一个输入字段成为必需。ZF2只根据另一个元素创建一个表单元素?
此刻我的输入滤波器的样子:
return [
[
'name' => 'condition',
'required' => true,
],
[
'name' => 'additional',
'required' => false,
'validators' => [
[
'name' => 'callback',
'options' => [
'callback' => function($value, $context) {
//If condition is "NO", mark required
if($context['condition'] === '0' && strlen($value) === 0) {
return false;
}
return true;
},
'messages' => [
'callbackValue' => 'Additional details are required',
],
],
],
[
'name' => 'string_length',
'options' => [
'max' => 255,
'messages' => [
'stringLengthTooLong' => 'The input must be less than or equal to %max% characters long',
],
],
],
],
],
];
什么我发现是因为我有'required' => false,
为additional
场,没有validators
运行。
仅当condition
为'no'(值'0')时,我该如何制作additional
?