type - Yii $ form-> textfield, ¿cómo establecer un valor predeterminado?
input type yii2 (6)
antes de la descripción del campo agrega esto:
<?php
$model->teamlead=''my default value'';
?>
Así que estoy jugando con el marco yii y en una de las vistas, específicamente la forma de crear, estoy tratando de darle a uno de mis campos de texto un valor predeterminado. Por lo tanto, cuando voy a mi página de creación, los valores ya están precargados en el formulario.
Aquí está mi código actual
<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>
Cuando presiono Crear, ¿YII me da un error al decirme que TextField está vacío? No estoy seguro de qué más puedo hacer más que establecer el valor. ¿También se supone que debo establecer los atributos del modelo?
Siempre, es una buena idea lidiar con los datos (valores predeterminados, cambios después de que algo sucede, tratamiento de datos, etc.) en la clase de modelo.
Si obtiene el valor de después de inicializar el modelo, la mejor manera es usar el método init ().
Pero, si desea cambiar o definir un valor predeterminado después de cargar datos de la base de datos, puede usar el método afterFind ()
Por ejemplo:
public function afterFind(){
$this->localdate = date("Y-m-d");
parent::afterFind();
}
Este enlace contiene mucha información útil sobre estos métodos: http://www.yiiframework.com/doc/guide/1.1/en/database.ar#customization
Aquí está mi código que estoy enviando un valor fijo a la base de datos y mostrar ese valor de solo lectura.
<?php echo $form->textField($model,''pp_status'', array(''value''=>''Open'', ''readonly'' => ''true'')); ?>
Funciona en mi extremo:
<?= $form->field($model, ''some_field'')->textInput([''readonly'' => true, ''value'' => ''Your Value'']) ?>
<div class="row">
<?php echo $form->labelEx($model,''teamlead''); ?>
<?php echo $form->textField($model,''teamlead'',array(''readonly''=>''true'',size''=>50,''maxlength''=>50,''value''=>Yii::app()->user->getUsername(),''disabled''=>''disabled'')); ?>
<?php echo $form->error($model,''teamlead''); ?>
</div>
poner array(''readonly''=>''true'')
en tu codificación funcionará
Utilice array(''readonly'' => true)
lugar de disabled
.