验证想法

时间:2014-08-31 15:50:39

标签: php mysql validation yii

我有一个名为 ideyalar 的表。

在注册页面中,如果之前使用的用户名,则用户无法创建其个人资料。

每个用户都可以创造自己的想法。但我要面对这个问题;用户可以创建具有相同名称的想法。 我想限制这个。但我不知道如何......

如果你帮助我,我会很高兴。

感谢。最好的问候。

P.S:我应该使用 CUniqueValidator ,但不知道如何......

IdeyalarController 代码:

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

    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['Ideyalar']))
    {
        $model->attributes=$_POST['Ideyalar'];
        $model->istifade = "1";
        $model->idcontact = Yii::app()->user->getId();

        if($model->save()){
            //  if($model->validate()) {
                    $command = Yii::app()->db->createCommand();
                    $command->insert ('mqrup', array(
                            'idperson'=> Yii::app()->user->getId(),
                            'idideya'=>$model->idideya));

                    $this->redirect(array('viewm','id'=>$model->idideya));
            //  }
        }
    }

    $this->render('create',array(
            'model'=>$model,
    ));
}

1 个答案:

答案 0 :(得分:1)

这是在您的模型文件中,而不是方法rules下的控制器,您应该具有以下规则:

array('your_attribute', 'unique'),

所以你会有像

这样的东西
public function rules()
{
    return array(
        //some rules
        array('your_attribute', 'unique'),
    );
}

有关详细信息,请参阅wiki