在 Slim3 框架的尊重验证中,我试图在子对象上添加验证。
$childObjValidationArr = array(
'param1' => v::regex("/^[A-Za-z0-9]{1}[A-Za-z0-9.$#-@]{1,19}$/"),
'param2' => v::date('Y-m-d'),
'param3' => v::intVal()->not(v::negative())
);
如果子对象不是可选的,它可以正常工作。
$mainObjectValidators = array(
'id' => $intPositive,
'childObj' => $childObjValidationArr
);
但是当孩子是可选的(允许为空)时不起作用。
$mainObjectValidators = array(
'id' => $intPositive,
'childObj' => v::optional($childObjValidationArr)
);
有什么方法可以通过 Respect 为子对象添加可选验证?
以下是上面尝试时的错误
PHP 致命错误:未捕获的 TypeError:参数 1 传递给 Respect\Validation\Rules\Optional::__construct() 必须实现接口 Respect\Validation\Validatable,给定 null