model和CHtml表单的问题

qiang,你好!

我在做一个后台,后台是用了一个名为admin的module,在做用户管理的时候,用了一个User的model,在model User中的public function rules()中,做了一个规则是array(‘password’, ‘required’, ‘on’=>‘create’),我想在新创建用户的时候,是required的,修改用户时不需要,但是这样做后,在create和update界面中,都没有红出现了,如果改为’on’=>‘update’,这时在create界面中是没有了,在update中有*,这个倒是对的。

在update时,我想要password域的值显示为空,用脚手架自动生成的activePasswordField是不能设置值为空的,我就用了passwordField,但使用了passwordField后,在user模型中protected function beforeSave()里,直接echo $this->password却始终显示的是数据库中的password的值,form中的password变量没有带进来,不知为何?

另外,在model中,能否直接取得当前id的user数据对象的某个字段的值?

请帮助!

对于’on’=>'create’无效的问题,我在controller中的createAction里,加了$model->scenario = ‘register’;

然后将’on’=>‘create’改成’on’=>'register’就好了,不知道为什么.