[Solucionado] Dos Dudas Sobre La Extensión Select2

Hola a todos!

He estado usando esta excelente extensión de esta manera:




                <?php

                $this->widget('ext.select2.ESelect2',array(                    

                    'data'=>CHtml::listData(ModeloEjemplo::model()->findAll(), 'id', 'nombre'),                

                    'htmlOptions'=>array(

                        'multiple'=>'multiple',

                    ),

                    'options'=>array(

                        'width'=>'50%',

                        'maximumSelectionSize'=>3,

                    )

                ));

                ?>



Mis problemas son:

[list=1]

[*]Por más que el campo ‘ejemplo’ esté como ‘required’ en el modelo, al hacer Submit en el formulario NO lo valida

[*]No pude encontrar una forma de precargar los valores cuando estoy en un formulario haciendo un update. El select2 aparece vacío pero cuando doy Submit guarda correctamente.

[/list]

Por favor… AYUDA!

Hola que tal, te comento que también he usado mucho esa librería.

Primero que nada, para validar que el campo sea requerido debes declarar esta regla en el modelo como bien dices, sin embargo no veo que estés usando los parámetros "model" y "attribute" del Widget para indicarle a que modelo y atributo se va a asociar…

ejemplo:




                <?php

                $this->widget('ext.select2.ESelect2',array(       

                    'model'=>$model,

                    'attribute'=>'ejemplo',

                    'data'=>CHtml::listData(ModeloEjemplo::model()->findAll(), 'id', 'nombre'),                

                    'htmlOptions'=>array(

                        'multiple'=>'multiple',

                    ),

                    'options'=>array(

                        'width'=>'50%',

                        'maximumSelectionSize'=>3,

                    )

                ));

                ?>




Y con respecto a precargar los datos lo debes hacer por medio de un array ya que es de selección multiple:

ejemplo:


$model->ejemplo = array('id1','id2','id3);

Debes resolver los datos del atributo en el modelo (id seleccionados) antes de imprimir el Widget

ya sea en el controlador o donde mas fácil se te haga

Xavier, gracias por tu respuesta. En cuanto a lo primero, lo tenía cargado con ‘model’ y ‘attribute’ pero cuando lo pegué acá no lo puse. Con respecto a lo segundo, yo estaba fallando porque esos datos que obtengo del select2 los paso por un serialize() y estaba teniendo un error en el actionUpdate cuando hacía el unserialize().

Saludos y tema terminado.

(Si quieren pasar por mi duda sobre backup de la base de datos se lo agradeceré: acá!)

epale que tal xavieremv, migueArgentina. estoy tratando de implementar esta extension en mi aplicacion y no se como hacerlo jajaja me explico mejor…tengo varios combos dependientes que en su defecto estan funsionales, quiero hacer lo mismo pero con el Select2 y no se como hacerlo…me podrian explicar como, ya que por lo leido ustedes la an implementado a la perfeccion…gracias :D

como lo solucionaste?

A mi no me valida, no se como validarlo y que si se recarga la página no se borre

:unsure: