如何在CakePHP3中验证一对多关系

如何在CakePHP3中验证一对多关系,php,validation,cakephp,cakephp-3.0,Php,Validation,Cakephp,Cakephp 3.0,我想验证多个表单数据 例如: 表order有许多order\u项 我尝试验证order表的validationDefault函数: $validator ->notEmpty('cust_name') ->notEmpty('cust_email') ->notEmpty('order_items.*.oi_item'); ->notEmpty('order_items.*.o

我想验证多个表单数据

例如: 表order有许多order\u项

我尝试验证order表的validationDefault函数:

$validator
            ->notEmpty('cust_name')
            ->notEmpty('cust_email')
            ->notEmpty('order_items.*.oi_item');
            ->notEmpty('order_items.*.oi_price');

如何对其进行验证?

当将具有关联实体的实体传递到表
save()
中时,关联应该得到验证。因此,您应该将order_项的验证规则放入OrderItemTable,如

    $validator
       ->notEmpty('oi_price')
       ->notEmpty('oi_price')

每当验证失败时,您应该能够使用
$order->getErrors()
(假设
$order
是传递给
OrdersTable::save()
的订单实体)获取错误信息。

我可以在不创建其他模型的情况下验证它吗?cakephp支持多维数组验证吗?不,我不这么认为。我想不出你为什么要这么做。只需烘焙OrderItem表,配置验证规则和good to go。如何使用不同的类名,因为OrderItem将具有不同的验证。这个表只是一个例子,我有不同的用例。你的确切意思是什么?你想有不同的验证器吗?或者你说的是表的类名?