Sucede que he usado la opción minDate para desactivar los días anteriores al actual para evitar seleccionar una fecha ya pasada. Esto me funciona perfectamente en el create pero en el update no me muestra la hora, solo aparece el widget vacio, aunque en la base de datos se nota que se registró la fecha. Quisiera saber que error puede estar pasando.
Normas
[['inicio_clase', 'fin_clase'], 'default', 'value' => function () { return date(DATE_ISO8601); }], [['inicio_clase', 'fin_clase'], 'filter', 'filter' => 'strtotime', 'skipOnEmpty' => true], [['inicio_clase', 'fin_clase','seccion_id', 'materia_id', 'estado'], 'integer'], ['inicio_clase','compare','compareAttribute'=>'fin_clase','operator'=>'<','message'=>'La fecha de inicio debe ser menor que la fecha de finalización.'], ['fin_clase','compare','compareAttribute'=>'inicio_clase','operator'=>'>','message'=>'La fecha de fin no debe ser menor o igual que la fecha de inicio.'],Forma
<?php echo $form->field($model, 'fin_clase'( DateTimeWidget::class, [ 'phpDatetimeFormat' => 'yyyy/MM/dd HH:mm', 'clientOptions' => [ 'minDate' => new \yii\web\JsExpression('new Date()'), ] ] ) ?>Probablemente esté tratando de editar un registro con fin_clase establecido en la fecha anterior a la fecha actual. El DateTimeWidget está configurado para no permitir la fecha anterior al día actual, por lo que no podrá mostrar la fecha en el pasado, incluso si ese valor está almacenado en el modelo.
Por ejemplo, si hoy es 2021-10-12 y la fin_clase del registro está establecida en 2021-10-11, no se completará durante la edición.
Para evitar eso, debe configurar minDate para permitir el valor real almacenado en el modelo.
'minDate' => $model->isNewRecord ? new \yii\web\JsExpression('new Date()') : new \yii\web\JsExpression("new Date({$model->fin_clase})"),O es posible que desee permitir todas las fechas pasadas al editar el registro.
'minDate' => $model->isNewRecord ? new \yii\web\JsExpression('new Date()') : false,