[英]CakePHP 3.x custom validation if entity has relation
试图绕过一些稍微复杂的自定义CakePHP验证规则。
我有必须与City
关联的Posts
一些 (较大的)城市有SubCities
。 我的Posts
表同时具有city_id
和sub_city_id
,因此在某些情况下, sub_city_id
将为Null。
我有一个很好的ajax表单,可以加载并允许您选择SubCity
如果您首先选择的是一个City
。 我想编写一个验证规则,以便在city_id
字段上可用sub_city_id
的情况下, SubCities
不能为Null。
对解决此问题的最佳方法有帮助吗?
您是否尝试过查看手册? 了解有关条件验证的信息
定义验证规则时,可以使用on键定义何时应应用验证规则。 如果未定义,则将始终应用该规则。 其他有效值将被创建和更新。 使用这些值之一将使规则仅适用于创建或更新操作。
此外,您可以提供一个可调用函数,该函数将确定是否应应用特定规则:
$validator->add('picture', 'file', [
'rule' => ['mimeType', ['image/jpeg', 'image/png']],
'on' => function ($context) {
return !empty($context['data']['show_profile_picture']);
}
]);
↑这个例子取自本书。 因此,根据您的需要进行修改。 在回调中放入检查城市的逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.