Например:
Код: Выделить всё
# Загружаем данные в модель
$model->load(Yii::$app->request->get());
# Здесь валидация:
if($model->validate()){
// 'Ok'
}else{
// 'errors;
};
# Но если некоторые атрибуты не валидны, то они в модели всё также загружены
print_r ($model->attributes);
Код: Выделить всё
# Загружаем данные в модель
$model->load(Yii::$app->request->get());
# Здесь валидация:
if($model->validate()){
// 'Ok'
}else{
// 'errors;
# Сбрасываем все атрибуты
// $model->cleanAttributes();
# Или очищаем не пройденные валидацию атрибуты
$model->cleanAttributes($model->errors);
};
# Теперь атрибуты сброшены
print_r ($model->attributes);
Код: Выделить всё
public function cleanAttributes( Array $attributes=null)
{
if(isset($attributes)){
foreach($attributes as $attribute=>$value){
$this->$attribute = false;
};
}else{;
foreach($this->getAttributes() as $attribute=>$value){
$this->$attribute = false;
};
};
}