Добрый день.
Я только недавно начал разбираться в YII. Проблема состоит в следующем: работало все нормально, данные сохранялись в базе, если последнии 2 правила в модели были закоментированны. После того как я их разкоментировал, во время сохранения при корректно заполненых данных, ничего не происходит - не выдает ниодной ошибки, не происходит сохранение.
Люди добрые, подскажите пожалуйста в чем может быть проблема.
Так же выслушаю любые замечания по коду, если таковы будут.
МОДЕЛЬ
public $uin;
public $email;
public $pass;
public $passRepeat;
public $verifyCode;
public function rules()
{
return array(
array('email, pass', 'required', 'message'=>Yii::t('common','empty')),
array('email, pass', 'length', 'max'=>255,'tooLong'=>Yii::t('common','lengthLong').'255 символов','on'=>'register'),
array('pass', 'length', 'min'=>6,'tooShort'=>Yii::t('common','lengthShort').'6 символов','on'=>'register'),
array('email','email', 'message'=>Yii::t('common','emailCorrect'),'on'=>'register'),
array('email','unique', 'message'=>Yii::t('common','has_in_base'),'on'=>'register'),
//array('pass','compare', 'compareAttribute'=>'passRepeat','message'=>Yii::t('common','passRepeat'),'on'=>'register'),
//array('verifyCode','captcha','captchaAction'=>'abit/captcha','allowEmpty'=>!extension_loaded('gd'),'message'=>Yii::t('common','verifyCode'),'on'=>'register'),
);
}
КОНТРОЛЛЕР
public function actionRegister()
{
$errors = Array();
$model = new AbitPortal();
if(isset($_POST['AbitReg']))
{
$model->email = substr(trim($_POST['AbitReg']['email']),0,260);
$model->pass = substr(trim($_POST['AbitReg']['pass']),0,260);
$model->passRepeat = substr(trim($_POST['AbitReg']['passRepeat']),0,260);
$model->verifyCode = substr(trim($_POST['AbitReg']['verifyCode']),0,20);
$model->scenario='register';
// Check data
$model->validate();
if($model->hasErrors())
{
foreach($model->getErrors() as $field) $errors[] = $field[0];
}
if(!count($errors))
{
$model->uin = RGenerate::generateUin();
$model->code_conf = RGenerate::generateCode();
$model->date_reg = date("Y.m.d H:i:s");
$model->salt = RGenerate::generateSalt();
$model->type_registr = 1;
$model->pass = sha1(sha1($model->salt).sha1($model->pass));
//$model->step =
//$model->d_block =
// Save data
if ($model->save())
{
Yii::app()->user->setFlash("registered",Yii::t("common","registered"));
// Update page
$this->refresh();
}
}
}
// display the register form
$this->render('register',array('model'=>$model,'errors' => $errors));
}