Yii validation d'un domaine spécifique

problème defenition

j'ai un modèle appelé "user.php'
j'ai quelques règles de validation sur les mêmes comme suit
je vais maintenant créer un formulaire de réinitialisation de mot de passe
dans ce formulaire, j'ai une zone de texte nom e-mail (même e-mail utilisé dans le modèle utilisateur)
dans le formulaire de réinitialisation de mot de passe je voudrais vérifier météo cet utilisateur est enregistrée si elle a enregistré l'on va envoyer le lien de réinitialisation de mot de passe

JE NE SAIS PAS COMMENT VAIDATE CE CHAMP E-MAIL , TOUTE AIDE TRÈS APPRÉCIABLE QUE JE SUIS NOUVEAU DANS YII

user.php

    class Users extends CActiveRecord
{
public $cpassword;
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return 'users';
}
public function rules()
{
//NOTE: you should only define rules for those attributes that
//will receive user inputs.
return array(
array('email, password, user_type , cpassword','required'),
array('email', 'length', 'max'=>200),
array('email', 'unique'),
array('email', 'email'),
array('password', 'length', 'max'=>300),
array('cpassword', 'length', 'max'=>300),
array('user_type', 'length', 'max'=>5),
array('cpassword', 'compare', 'compareAttribute' => 'password'),
//The following rule is used by search().
//Please remove those attributes that should not be searched.
array('id, email, password, user_type ', 'safe', 'on'=>'search'),
);
}
public function relations()
{
return array(
);
}
public function attributeLabels()
{
return array(
'id' => 'ID',
'email' => 'Email',
'password' => 'Password',
'user_type' => 'User Type',
'cpassword' => 'Confirm Password'
);
}
public function search()
{
//Warning: Please modify the following code to remove attributes that
//should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('email',$this->email,true);
$criteria->compare('password',$this->password,true);
$criteria->compare('user_type',$this->user_type,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
public function beforesave()
{
$this->password=md5($this->password);
return true;
}
}
  • Vous êtes à la recherche pour vérifier si un utilisateur existe, basée sur la saisie adresse e-mail?
  • exactement , mais comment vérifier qu'un champ ; est-ce un bon moyen de créer des modèles différents pour la même table
  • Vous pouvez utiliser des scénarios, qui sont différentes des règles de validation basé sur différents scénarios, par exemple, il y a des règles différentes pour la création d'un nouveau record vs mise à jour d'un enregistrement existant. Vous pouvez lire sur les scénarios ici - yiiframework.com/wiki/266/understanding-scenarios
InformationsquelleAutor Deepu Thomas | 2012-10-16