2016-04-12 12 views
0

こんにちは、私は多くのフィールドを持っているテーブルを持っていますが、フィールドに検証を入れる必要があります。検証の適用方法

ADMIN_EMAIL 4 USER_EMAIL 2)admin_mobile 3)user_mobile

1))、これらすべてが同じデータベースに保存されている私は、電子メールや携帯電話上でユニークな検証を適用したいです。そのようなユーザーと管理者は、同じ携帯電話や電子メールを持っていません。私は以下のルールを使用しましたが、私の問題は解決しません。助けてください。どんな助けもありがとうございます。

public function rules() 
{ 
array('user_mobile,admin_mobile,user_email,admin_email','unique', 
'message'=>'{attribute} already exist') 

} 

これはユーザーと管理者のみに適用されます。しかし、私は新しいユーザーや管理者が同じ携帯電話を持っていないし、同じ電子メールを持っていないします。 ですが、この検証ではadmin_emailとuser_email、admin_mobileとuser_mobileは一致しません。

答えて

1

まず、コントローラーに検証を追加したかどうかを確認するために1つの条件を追加する必要があります。

public function actionname(){ 
     $model = new modelname; // model name enter here 
     $model->setattributes($_post['modelname']) // set record into model 
    if($model->validate()){ 
     $this->redirect('index); 
    }else{ ... } 
+0

それがより明確に –

+0

パブリック関数actionNameの(){ $モデル=新しいモデル名になるだろうという答えにあなたのコードを追加してください。 //モデル名はここに入力してください $ model-> setattributes($ _ post ['modelname'])//モデルにレコードを設定します if($ model-> validate()){ $ this-> redirect( 'index); } else { Print_r($ model-> getErrors()); } } – Roshani

1
public function actionname(){ 

    $model = new modelname; // model name enter here 

    $model->setattributes($_post['modelname']) // set record into model 
関連する問題