使用RadioButtonList或dropDownList时,数据保存为null

时间:2012-03-15 16:46:18

标签: yii

我是yii的新手。我有这个问题,我在radiobuttonlist或dropDownList中存储的数据没有保存在数据库中。它始终显示为null。这是我的代码

查看:

<?php
 $form = $this->beginWidget('CActiveForm'); 
 echo $form->label($model,'gender');
 echo $form->radioButtonList($model,'gender',array('M'=>'Male','F'=>'Female'));
echo $form->label($model,'cat');
 echo $form->dropDownList($model,'cat',$category);
 echo CHtml::submitButton('Submit');
 $this->endWidget();
?>

控制器:

public function actionCreate()
    {
        $model=new Test;
        if(isset($_POST['Test']))
        {
                        $model->attributes=$_POST['Test'];
                        if($model->save()){
                $this->redirect(array('index'));
                        }
                        else
                            var_dump($model->errors);
        }
                $cat = array('st'=>'STAFF','ot'=>'OTHERS');
                $model->gender='M';
        $this->render('create',array(
            'model'=>$model,'category'=>$cat
        ));
    }

请帮助...提前致谢

编辑:在规则部分添加必需后,它就像魅力一样

这里是修改后的测试模型

public function rules()
    {

        return array(
            array('gender,cat', 'required'),
            array('name', 'length', 'max'=>45),

        );
    }

2 个答案:

答案 0 :(得分:0)

在这里发布您的模型。我认为您的问题出现在测试模型中。

答案 1 :(得分:0)

我看到您使用'required'解决了这个问题,但是如果某些字段不是强制性的,则可以使用'safe'规则。关键是表单的每个属性都必须符合模型的规则。

查看Understanding "Safe" Validation Rules