Cómo se valida un radio button con yii2?

Hola a todos comunidad, estoy nuevo con yii2 y estoy tratando de obtener el valor de un radio button, pero no consigo la forma, gracias a todos de antemano por su ayuad, acá les dejo mi código

En mi vista

<div class="d-md-flex justify-content-center align-content-center flex-column text-center">
<?php $form = ActiveForm::begin(); ?>


<?= $form->field($model, 'plan')->radio(['label' => '1. 1$ USD de suscipción.', 'value' => 1, 'uncheck' => null]) ?>
<?= $form->field($model, 'plan')->radio(['label' => '2. PPV = Paga por el diagnostico que necesites.', 'value' => 2, 'uncheck' => null]) ?>
<?= $form->field($model, 'plan')->radio(['label' => '3. Membresía limitada: 10 examenes por patología. Tarifa mensual/anual', 'value' => 3, 'uncheck' => null]) ?>
<?= $form->field($model, 'plan')->radio(['label' => '4. Plan VIP : sonsultas ilimitadas. Tarifa anual/mensual.', 'value' => 4, 'uncheck' => null]) ?>
<?php echo $form->radioButtonList($model,'plan', $model->getPlanesOpcion()); ?> / /probé de esta forma de yii xD pero no funcionó

<div class="form-group">
    <?= Html::submitButton('Registrate', ['class' => 'btn btn-info']) ?>
</div>
<?php ActiveForm::end(); ?>

En mi controlador

public function actionCreate()
{
    $model = new Afiliacion();

    if (!isset($model->plan) ) {
        var_dump('hola'); // aquí se supone que veo mi valor para poder hacer el guardado
    }
    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'id' => $model->id_afiliacion]);
    }

    return $this->render('create', [
        'model' => $model,
    ]);
}

en mi modelo

    public $plan; // coloqué esta variable para obtener el valor que necesito y poder pasarlo al controlador

y esto lo coloqué probando lo de yii

    public function getPlanesOpcion() {

	return array(

		1=>'1. 1$ USD de suscipción.',

        2=>'2. PPV = Paga por el diagnostico que necesites.',

        3=>'3. Membresía limitada: 10 examenes por patología. Tarifa mensual/anual',

        4=>'4. Plan VIP : sonsultas ilimitadas. Tarifa anual/mensual.',
	);

}

de verdad se que es algo sencillo, pero no consigo la manera , de nuevo, muchas gracias a todos por su ayuda.

@JuanF_Romero buenas tardes, creo que estas Un poco confundido para conseguir ver tu valor tienes que hacer model->load antes, despues de load ya lo tienes en tu model, y ademais de eso tienes otra condicion, que és colocár como regla en tu model el atributo “plan” , si no, vá à ser ignorado no “load” del model, ahora todas lás validaciones deberian estar en las reglas de tu model, eso seria lá considerado Best practices. PD : si necesitas algunos ejemplo solo dime

1 Like

@jmar1998 Hola, si porfa, un par de ejemplos no me caerían mal, logré ver el valor de lo que obtengo con el siguiente código

 $numero_plan = ArrayHelper::getValue($_POST, 'Afiliacion.plan');
    $plan = $numero_plan;
     var_dump($numero_plan);die;

PERO, cuando quito el var_dump, en donde se supone que se refleja el valor, me dice que está indefinido, y de verdad, no entiendo que pasa , gracias de verdad por tu ayuda.

lo que estoy es tratando de ver el valor de lo que selecciono para poder guardarlo en una bdd, es lo que quiero hacer.