今天使用model rules 里面的 on 发现死活不起作用,后来搜索发现 需要设置model 实例的 scenario 属性才能起作用,不知道为什么。
//控制器内 $model = new User(); $model->scenario = 'add';//模型内public function rules() { // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( array('username, password', 'required','message'=>'不能为空','on'=>'add'), array('username, password, salt, email', 'length', 'max'=>128), //array('profile', 'safe'), array('password_re','compare','compareAttribute'=>'password','message'=>'密码必须一致!','on'=>'add'), array('username','unique','message'=>'用户名已存在'), //array('addtime','default','value'=>time()), //array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()), ); }