Sto usando un CJuiDatePicker nella _form
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array( 'name'=>'Listing[validFromDate]', 'value'=>$model->validFromDate, 'language'=> Yii::app()->language, 'options'=>array( 'showAnim'=>'fold', ), 'htmlOptions'=>array( 'class' => 'mws-textinput', ), )); ?>
Fino qui tutto bene, anche la questione della lingua.
L'unica scocciatura è che usa il formato data con 4 cifre per l'anno, che è ok, se non che sto usando un validator fatto così:
public function rules() { $localizedTimeFormat = Yii::app()->getLocale()->getDateFormat('short'); $localizedTimeFormat .= "yy"; // 4 cifre per l'anno // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( .... array('validFromDate, validToDate', 'date', 'format' => $localizedTimeFormat, . 'message' => Yii::t('general',"dateFormatError")." '$localizedTimeFormat'" ), ...... ); }
Come avete visto ho fatto la schifezza di appendere due 'yy' al formato short. Altro non mi è venuto in mente, comunque per le 5-6 lingue che ci servono attualmente, va tutto bene, la validazione resiste.
Ora però mi trovo che salvando il record... beh... mi salva (in qualsiasi lingua) ... '0000-00-00' segno che ovviamente la stringa in formato localizzato non coincide con quella di mysql.
Come e dove devo intervenire per far salvare il dato correttamente ?