如何验证cakephp中的一对多关系3

时间:2018-06-10 05:40:42

标签: php validation cakephp cakephp-3.0

我想验证hasMany表单数据。

例如: 表顺序有很多order_item。

我尝试在订单表的validationDefault函数中验证:

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

我该如何验证?

1 个答案:

答案 0 :(得分:0)

当具有关联实体的实体传递到表save()时,应验证关联。所以你应该把order_item的验证规则放到OrderItemTable中,比如

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

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