checkbox не отправляет значение

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
drag0n
Сообщения: 208
Зарегистрирован: 2017.04.28, 08:37

checkbox не отправляет значение

Сообщение drag0n »

Добрый день.

После отправки формы значение null
Что включена галочка, что нет все равно null

Может кто-знает почему???

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

<?php $form = ActiveForm::begin([
    'id' => 'agree-form'
    ])
?>

<?= $form->field($model, 'agree')->checkbox()->label('Вы ознакомлены и согласны с условиями?') ?>
<?= Html::submitButton('Согласен (-а)', ['class' => 'btn btn-primary', 'name' => 'agree-button']) ?>

<?php ActiveForm::end(); ?>
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: checkbox не отправляет значение

Сообщение urichalex »

В модели в правилах прописано?
drag0n
Сообщения: 208
Зарегистрирован: 2017.04.28, 08:37

Re: checkbox не отправляет значение

Сообщение drag0n »

ага,

вот моделька

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


    public function rules()
    {
        return [
            [['agree'], 'safe'],
            [['agree'], 'default', 'value' => '0'],
        ];
    }
    
    public function checkAgree()
    {
        if ($this->validate())
        {
            $user = Structure::find()->where(['id'=>Yii::$app->user->identity->id])->one();
            debug($this->agree);
            $user->agree = $this->agree;

            return $user->save();
        }
    }

 
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: checkbox не отправляет значение

Сообщение dmg »

а что в контролёре?
и это не вся моделька.
drag0n
Сообщения: 208
Зарегистрирован: 2017.04.28, 08:37

Re: checkbox не отправляет значение

Сообщение drag0n »

drag0n писал(а): 2017.06.22, 14:15 ага,

вот моделька

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


    public function rules()
    {
        return [
            [['agree'], 'safe'],
            [['agree'], 'default', 'value' => '0'],
        ];
    }
    
    public function checkAgree()
    {
        if ($this->validate())
        {
            $user = Structure::find()->where(['id'=>Yii::$app->user->identity->id])->one();
            debug($this->agree);
            $user->agree = $this->agree;

            return $user->save();
        }
    }

 
контролер

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

    public function actionAgreement()
    {
        $this->view->title = 'Договор';

        $model = new Agreement();

        if (Yii::$app->request->post())
        {

            if ($model->checkAgree())
            {
            	debug($model);
                //Yii::$app->session->setFlash('success', 'Данные успешно обновлены.');
                return $this->refresh();
            }
        }
        return $this->render('Agreement', compact('model'));
    }
моделька вся

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

<?php

namespace app\models;

use yii\base\Model;
use Yii;


class Agreement extends Model
{
    public $agree;


    public function rules()
    {
        return [
            [['agree'], 'safe'],
            [['agree'], 'default', 'value' => '0'],
        ];
    }

    public function checkAgree()
    {
        if ($this->validate())
        {
            debug($this->agree);
            $user = Structure::find()->where(['id'=>Yii::$app->user->identity->id])->one();
            $user->agree = $this->agree;

            return $user->save();
        }
    }

}
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: checkbox не отправляет значение

Сообщение dmg »

забыли $model->load(Yii::$app->request->post())
drag0n
Сообщения: 208
Зарегистрирован: 2017.04.28, 08:37

Re: checkbox не отправляет значение

Сообщение drag0n »

dmg писал(а): 2017.06.22, 14:52 забыли $model->load(Yii::$app->request->post())
Фуф, запарился

Спасибо, большое!
Ответить