0

这是 $this->request->data 的结构:

 array(
        'Capture' => array(
             'items' => array (
                 0 => array(
                    'description' => '',
                    'amount' => ''
                 )
                 1 => array(
                    'description' => '',
                    'amount' => ''
                 )
            )
        )
)

我必须验证这一点。

4

1 回答 1

1

要验证具有相同字段的多条记录,您可以使用Model::saveAll并传入一个参数,告诉它仅验证。

请注意,我认为您不能以上述格式传递您的$this->request->data(关卡会扔掉它)。items它需要采用以下格式:

array(
    'ModelName' => array(
        '0' => array(...)
        '1' => array(...)
        //...
        'n' => array(...)
    ),
)

或者:

array(
     '0' => array(...)
     '1' => array(...)
     //...
     'n' => array(...)
)

所以通过以下方式将其传递给函数:

$this->Capture->saveAll($this->request->data['Capture']['items'], array('validate' => 'only'));

这是一个类似的问题:

验证具有相同名称的多个字段

于 2013-01-29T08:46:03.200 回答