Validation CakePhp 3:使用动态字段创建验证

Validation CakePhp 3:使用动态字段创建验证,validation,cakephp,cakephp-3.x,cakephp-3.2,Validation,Cakephp,Cakephp 3.x,Cakephp 3.2,我想创建一个复杂的验证: 我有4张桌子: products id name price attribute_set_id attribute_sets id name attributes id attribute is_required rl_attributes_attribute_sets id attribute_id attribute_set_id 现在想象一下这个场景: 我的产品

我想创建一个复杂的验证:

我有4张桌子:

products
    id
    name
    price
    attribute_set_id

attribute_sets
    id
    name

attributes
    id
    attribute
    is_required

rl_attributes_attribute_sets
    id
    attribute_id
    attribute_set_id
现在想象一下这个场景:

我的产品属于属性集。 在此集合中,具有一些属性,如“ram、存储器、视频” ram和存储是必需的,而视频则不是

我有一个这样的产品实体:

product[
    'name' => 'name',  //some name
    'price' => '19.99',     //some price
    'attribute_set_id'  => 4,   //the attribute set id
    'ram'  => '4gb',
    'storage' => '1tb'
]
我想验证一下,我只需要在我知道的字段中添加规则,但是,我想根据属性集中的字段(我可以创建/更新/删除)添加一些规则,在本例中有这三个字段, 其中两个是必需的。 如何添加这些动态规则

提前谢谢