validateTabular

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
chandler
Сообщения: 145
Зарегистрирован: 2011.10.13, 21:33

validateTabular

Сообщение chandler »

http://www.yiiframework.com/doc/api/1.1 ... lar-detail

Код: Выделить всё

foreach($models as $i=>$model)
...
$model->attributes=$_POST[get_class($model)][$i];
тоесть итераций будет столько, сколько моделей в массиве, а не полей в посте.

нужно что то вроде:

Код: Выделить всё

$result=array();
        if(!is_array($models))
            $models=array($models);
        foreach($models as $i=>$model)
        {

            if($loadInput && isset($_POST[get_class($model)]))
            {
                foreach($_POST[get_class($model)] as $ii => $item)
                {
                    $model->attributes=$item;

                    $model->validate($attributes);
                    foreach($model->getErrors() as $attribute=>$errors)
                        $result[CHtml::activeId($model,'['.$ii.']'.$attribute)]=$errors;
                }

            }
            
        }
        return function_exists('json_encode') ? json_encode($result) : CJSON::encode($result);
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: validateTabular

Сообщение Nafania »

А зачем по каждому полю проходится?
Эта строка
$model->attributes=$_POST[get_class($model)][$i];

Присваивает сразу все атрибуты, нет нужды по каждому ходить.
Ответить