每当我提交我希望die()
被触发的表单时,回调验证器似乎都不会被触发吗?
我无法确定我还缺少什么,因为我只是基于网上看到的几个例子。
$inputFilter->add([
'name' => 'flag_reference',
'required' => true,
'allow_empty' => true,
'filters' => [
['name' => StripTags::class],
['name' => StringTrim::class]
],
'validators' => [
[
'name' => Callback::class,
'options' => [
'messages' => [
Callback::INVALID_VALUE => 'Not a valid Reference'
],
'callback' => function($value, $context) {
die('here');
$flagReference= $value;
var_dump('flag reference', $value);
$flag = $context['flag'];
var_dump('flag', $canonicalFlag);exit;
$isValid = false;
if($flag== 'checked') {
$isValid = $flagReference ? true : false;
}
return $isValid;
}
],
]
]
]);
我希望响应是“这里”,但是我只是得到其他元素的验证错误。
基本上,我正在尝试完成有条件的required
。
如果选中了一个复选框(flag
),则文本框的值不能为空(flag_reference
)。