ycast
(Mail2)
1
Hi all 
I have a text/password input where I want to provide a default value as help to the user. No problem so far:
<?php echo $form->passwordField($model, 'password', array(
'id' => 'password',
'value' => 'Password',
)); ?>
But know this ‘Password’ value overrides the value coming back from the $model when the form has been sent, but is returned because of an error.
Anyone knows of a way to display the default value, but only when the form has not been sent/returned already?
Regards
ycast
gusnips
(Gustavo)
2
in your model declare password with a default value
MyModel extends CModel{
public $password='defaultValue' ;
//the rest of your code
}
or use the code you posted changing
'value' => 'Password',
for
'value' => $model->isNewRecord ? 'Password' : false,//false or null, I'm not sure
ycast
(Mail2)
3
Thanks for your answer Gustavo.
Since it has to do primary with the view, I would rather use the second method you suggested. Unfortunately I get the following error:
I think isNewRecord is only available with AR…
I am using the LoginForm/UserIdentity code dynamically generated by Yii on application creation.
gusnips
(Gustavo)
4
uhmm its a CFormModel and not a model
then try the following, should work
'value' => empty($model->password) ? 'Password' : false,//false or null, I'm not sure
ycast
(Mail2)
5
I now use
'value' => (isset($model->username)) ? $model->username : 'Username',
and it works. Thanks for the tip in the right direction 
Edit: Just saw your second post.
'value' => empty($model->password) ? 'Password' : null // not false
works too, and is more beautiful. Thanks!