So I am fiddling with the Yii Framework and in one of the views, specifically the create form, I am trying to give one of my textfields a default value. Therefore when I go onto my create page the values are already preloaded on the form.
Here is my current code
<div class="row">
<?php echo $form->labelEx($model,'teamlead'); ?>
<?php echo $form->textField($model,'teamlead',array('size'=>50,'maxlength'=>50,'value'=>Yii::app()->user->getUsername(),'disabled'=>'disabled')); ?>
<?php echo $form->error($model,'teamlead'); ?>
</div>
When I press create, Yii gives me an error telling me that there textField
is empty? Not sure what else I can do other than set the value. Am I also suppose to set the model attributes?
It works on my end:
put
array('readonly'=>'true')
in your coding it will workbefore you field description add this:
Here is my code that I am sending fixed value into database and show that value readonly.
Always, is a good idea deal with data (defaul values, change after something happening, data treatment, etc) on the model class.
If you're getting the value from after initialize the model, the best way is to use the method init().
But, if you want to change, or define a default value after load data from the database, you can use the method afterFind()
For example:
This link has a lot of usefull information about these methods: http://www.yiiframework.com/doc/guide/1.1/en/database.ar#customization
I believe the MVC way to do this is to place your default value either in your Model:
Or in your controller: