Всем привет! Продолжая свое изучение Yii, решил сделать регистрацию пользователей.
Модель вот такая:
<?
class Register extends CFormModel
{
public $username;
public $password;
public $email;
public $icq;
public $www;
public $register_time;
public $avatar_id = 0;
public $activated = 0;
public function rules()
{
return array(
array('username','password','email','required'),
array('username','unique'),
array('email','email'),
array('www','url')
);
}
public function safeAttributes()
{
return array(
parent::safeAttributes(),
'register' => 'username, password, email, icq, www',
);
}
}
?>
Ф-ия регистрации в контроллере:
public function actionRegister()
{
$register=new Register;
if(isset($_POST['Register']))
{
if($register->validate())
{
}
}
$this->render('register',array('form'=>$register));
}
При попытке использования $register->validate() - Yii ругается на PHP-ошибку:
require(password.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory
проблема в том, что он ф-ия не присылает мне в ответ нового состояния getErrors(). То есть как будто все поля пустые. Хотя если я ради проверки начинаю выводить аяксом просто значения полей формы (например $output = $_POST['Register']['username']) - он показывает их правильно.
Вроде разобрался, оказалось что с отключенным js (тоесть без аякса, простым запросом) лезла ошибка, что моя модель Register не содержит getTableSchema, которая требовалась видимо для проверки: