繁体   English   中英

CakePHP 3.x自定义验证(如果实体具有关系)

[英]CakePHP 3.x custom validation if entity has relation

试图绕过一些稍微复杂的自定义CakePHP验证规则。

我有必须与City关联的Posts 一些 (较大的)城市有SubCities 我的Posts表同时具有city_idsub_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM