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 に答える