モデルを異なるデータで 2 回保存する必要があります。
コントローラ:
$modelClient = new Client;
if(Yii::app()->getRequest()->getIsAjaxRequest()) {
echo CActiveForm::validateTabular( array( $modelClient));
Yii::app()->end();
}
ビュー(関連部分のみ)
<?php echo $form->textFieldRow($modelClient, '[0]name'); ?>
<?php echo $form->textFieldRow($modelClient, '[0]street'); ?>
<?php echo $form->textFieldRow($modelClient, '[1]name'); ?>
<?php echo $form->textFieldRow($modelClient, '[1]street'); ?>
JSON 出力
{"Client_0_name":["field is empty"],"Client_0_street":["field is empty"]}
したがって、2 番目のモデルは単に無視されます。
私は試した
if(Yii::app()->getRequest()->getIsAjaxRequest()) {
foreach ($_POST[Client] as $client) {
$temp = new Client;
$temp->setAttributes($client);
echo CActiveForm::validate( array( $modelClient));
}
Yii::app()->end();
}
ただし、正しいIDなしでJSON出力を返します。例:
{"Client_name":["field is empty"],"Client_street":["field is empty"]}
その結果、どのフィールドも検証しません。