在我的场景中,我有一个休息控制器,我正在验证输入数据。 我已经构建了一个表单,我纯粹用于自定义验证,如下所示:
$validator
->requirePresence('sport_type')
->add('sport_type', 'Require fields missing', [
'rule' => function ($value) {
switch ($value) {
case 'Football':
$this->validator()
->requirePresence('football_id');
break;
case 'Basketball':
$this->validator()
->requirePresence('basketball_id');
break;
default:
return true;
}
return true;
}
])
->notEmpty('football_id')
->notEmpty('basketball_id')
return $validator;
我需要做的是,在默认情况下,确保其他字段为空 - 例如,sport_type = 'Motorsport'
,如果输入数据包含某些内容,则验证程序必须返回false football_id
或basketball_id
。
我在蛋糕中看不到任何类型的requireEmpty
类型的方法,所以任何人都可以建议如何实现这一点。我是否需要为该单一规则单独的自定义验证器,以及如何从此表单验证器中调用它?