@hollanditkzn

Почему не срабатывает сценарий?

У меня после сохранение пустого поле все равно сохраняется, хотя должна не сохранять, если поле пустое. В моделе прописал так
const DECLINED = 'declined';
 public function scenarios()
    {
        return [
            self::DECLINED => ['declined', 'required'],
        ];
    }

И в контроллере
public function actionDeclined($id)
    {
        $model = $this->findModel($id);
        $model->scenario = Zakaz::DECLINED;

        if($model->load(Yii::$app->request->post())){
            $model->validate();
            $model->status == Zakaz::STATUS_SUC_DISAIN ? $model->status = Zakaz::STATUS_DECLINED_DISAIN : $model->status = Zakaz::STATUS_DECLINED_MASTER;
            if (!$model->save()){
                print_r($model->getErrors());
            } else {
                $model->save();
            }
            return $this->redirect(['admin', '#' => $model->id_zakaz]);
        } else {
            return $this->renderAjax('_declined', ['model' => $model]);
        }
    }

Выходит когда на кнопку нажимаешь сохранить, то выходит перезагрузка и перезагружает страницу с изменениями данных, даже в том случае, если данные пустые
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
public function scenarios()
    {
        return [
            self::DECLINED => ['declined'],
        ];
    }
public function rules()
    {
        return [
             ['declined','required','on'=>self::DECLINED],
        ];
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы