Hello,
I get this message error "Fields with * are required." when I fill my form 5 I don(t wont my field to be required)
This happened only with my autocomplete input.
The View Form Code:
<?php
/* @var $this ProfessionnelController */
/* @var $modelProfessionnel Professionnel */
/* @var $form CActiveForm */
?>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'professionnel-form',
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($modelProfessionnel); ?>
<div class="row">
<?php echo $form->labelEx($modelProfessionnel,'code'); ?>
<?php echo $form->textField($modelProfessionnel,'code',array('size'=>60,'maxlength'=>250, 'value'=>$code)); ?>
<?php echo $form->error($modelProfessionnel,'code'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelProfessionnel,'actif'); ?>
<?php echo $form->dropDownList($modelProfessionnel,'actif',array(1=>'Actif',0=>'Inactif')); ?>
<?php echo $form->error($modelProfessionnel,'actif'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelProfessionnel,'nom'); ?>
<?php echo $form->textField($modelProfessionnel,'nom',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelProfessionnel,'nom'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelProfessionnel,'forme_juridique'); ?>
<?php echo $form->textField($modelProfessionnel,'forme_juridique',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelProfessionnel,'forme_juridique'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelProfessionnel,'siret'); ?>
<?php echo $form->textField($modelProfessionnel,'siret',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelProfessionnel,'siret'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelProfessionnel,'tva_intra'); ?>
<?php echo $form->textField($modelProfessionnel,'tva_intra',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelProfessionnel,'tva_intra'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'email'); ?>
<?php echo $form->textField($modelClient,'email',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelClient,'email'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'telephone'); ?>
<?php echo $form->textField($modelClient,'telephone',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($modelClient,'telephone'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'mobile'); ?>
<?php echo $form->textField($modelClient,'mobile',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($modelClient,'mobile'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'fax'); ?>
<?php echo $form->textField($modelClient,'fax',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($modelClient,'fax'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'site_web'); ?>
<?php echo $form->textField($modelClient,'site_web',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelClient,'site_web'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'adresse'); ?>
<?php echo $form->textField($modelClient,'adresse',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelClient,'adresse'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'adresse_suite'); ?>
<?php echo $form->textField($modelClient,'adresse_suite',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelClient,'adresse_suite'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'cp'); ?>
<?php echo $form->textField($modelClient,'cp',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($modelClient,'cp'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'ville'); ?>
<?php echo $form->textField($modelClient,'ville',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelClient,'ville'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'pays'); ?>
<?php echo $form->textField($modelClient,'pays',array('size'=>60,'maxlength'=>250)); ?>
<?php echo $form->error($modelClient,'pays'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($modelTimezone,'timezone'); ?>
<?php $form->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'timezone',
'value'=>$timezone,
'source'=>$this->createUrl('professionnel/getTimezone'),// <- path to controller which returns dynamic data
// additional javascript options for the autocomplete plugin
'options'=>array(
'minLength'=>'1', // min chars to start search
'select'=>'js:function(event, ui) {
$("#timezone").val(ui.item.label);
$("#Client_fk_timezone").val(ui.item.id); }'
),
'htmlOptions'=>array(
'id'=>'timezone',
),
));?>
</div>
<div class="row">
<input type="hidden" name="Client[fk_timezone]" id="Client_fk_timezone" value="<?php echo $idTimezone; ?>>
</div>
<div class="row">
<?php echo $form->labelEx($modelClient,'commentaire'); ?>
<?php echo $form->textArea($modelClient,'commentaire',array('rows'=>6, 'cols'=>50)); ?>
<?php echo $form->error($modelClient,'commentaire'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($modelProfessionnel->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
And my Action in the controller:
public function actionGetTimezone() {
if (!empty($_GET['term'])) {
$sql = 'SELECT id as id, CONCAT(timezone," ",utc_offset) as value, CONCAT(timezone," ",utc_offset) as label FROM i_timezone WHERE timezone LIKE :qterm ';
$sql .= ' ORDER BY timezone ASC';
$command = Yii::app()->db->createCommand($sql);
$qterm = '%'.$_GET['term'].'%';
$command->bindParam(":qterm", $qterm, PDO::PARAM_STR);
$result = $command->queryAll();
echo CJSON::encode($result); exit;
} else {
return false;
}
}
Thanks for any help
(And sorry for my english, I speak french!! )