模型的场景属性问题

模型中有个场景属性(scenario),文档(http://www.yiiframework.com/doc/guide/1.1/zh_cn/form.model)中提到如果在场景中执行块赋值,就只有出现在该场景验证规则中的特性会被块赋值,例如:

array(‘username, password’, ‘required’, ‘on’=>‘login, register’),

array(‘email’, ‘required’, ‘on’=>‘register’),

如果我们在login场景中执行块赋值,就只有username和password会被块赋值,因为只有它们出现在login场景的验证规则中。 如果场景是register,这三个特性就都会被块赋值。

在实际的应用中,创建一个LoginForm模型拥有“username, password, email”三个属性并设置默认值,然后在控制器中执行:

$model = new LoginForm(‘login’);

$model->attributes = $_POST; // $_POST = array(‘username’ => ‘value’, ‘password’ => ‘value’);

此时得到的$model->attributes属性中还是含有LoginForm模型所有的3个属性的,使用“validate()”方法做验证时,就只有出现在该场景验证规则中的username, password特性才会做验证,但是要怎么获取经过验证后安全的结果呢?,因为我需要将这两个字段插入数据库但是不需要有email属性,或者我需要将这两个属性输出到视图中附加到URL参数后面

另外咨询下Yii::app()->clientScript->registerCssFile该方法在视图中调用怎么自定义插入位置,默认会插入到title标签的前面,这样不太美观,另外不能自定义位置也容易跟插件或其它的样式冲突。