只有required这条验证起作用,其他的都不生效啊
class RegisterForm extends CFormModel
{
public $username;
public $password;
public $passwordConfirm;
public $nickname;
private $deviceCode;
public function rules()
{
return array(
array('password', 'compare', 'compareAttribute' => 'passwordConfirm', 'on' => 'register', 'message' => '密码不一致'),
array('username, password, passwordConfirm', 'required', 'message' => '请填写注册信息'),
array('username, nickname', 'unique', 'on' => 'register')); // 唯一,不能有重复记录
}
}
class SiteController extends Controller
{
public function actionRegister()
{
$model = new RegisterForm;
// if it is ajax validation request
if (isset($_POST['ajax']) && $_POST['ajax'] === 'register-form') {
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if (isset($_POST['RegisterForm'])) {
$model->attributes = $_POST['RegisterForm'];
// validate user input and redirect to the previous page if valid
if ($model->validate() && $model->register())
$this->redirect(Yii::app()->user->returnUrl);
}
// display the register form
$this->render('register', array('model' => $model));
}
}