Ho un modulo Yii che chiama un partial di rendering da un altro modello (team has_many team_members). Voglio chiamare tramite ajax una vista parziale per aggiungere membri in team/_form. Tutto funziona (chiama, mostra, salva) ad eccezione delle convalide ajax (lato server e client). Se invio il modulo, il modello del membro non convalida, anche dal lato client, non convalida i campi richiesti.Yii Convalida ClientSide su Render parziale non funzionante
Qualsiasi indizio?
// _ forma
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'team-form',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnChange'=>true
),
'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); ?>
// controller
public function actionMember($index)
{
$model = new TeamMember();
$this->renderPartial('_member',array(
'model'=> $model, 'index'=> $index
)
,false,true
);
}
public function actionCreate()
{
$model=new Team;
$members = array();
if(isset($_POST['Team']))
{
$model->attributes=$_POST['Team'];
if(!empty($_POST['TeamMember'])){
foreach($_POST['TeamMember'] as $team_member)
{
$mem = new TeamMember();
$mem->setAttribute($team_member);
if($mem->validate(array('name'))) $members[]=$mem;
}
}
$this->redirect(array('team/create','id'=>$model->id,'#'=>'submit-message'));
}
$members[]=new TeamMember;
$this->performAjaxMemberValidation($members);
$this->render('create',array(
'model'=>$model,'members'=>$members
));
}
// _ membro
<div class="row-member<?php echo $index; ?>">
<h3>Member <?php echo $index+1; ?></h3>
<div class="row">
<?php echo CHtml::activeLabel($model, "[$index]name",array('class'=>'member')); ?>
<?php echo CHtml::activeTextField($model, "[$index]name",array('class'=>'member')); ?>
<?php echo CHtml::error($model, "[$index]name");?>
</div>
</div>
ProcessOutput
è stato impostato su true. Niente da fare. Switch renderPartial()
a render()
. Niente da fare.
MEM, coppettim: sei lo stesso ragazzo? In caso contrario, perché hai modificato questa domanda e aggiunto l'ultima riga, come hai potuto saperlo ?? – soju
@soju: Non siamo lo stesso ragazzo. Ma entrambi stiamo lavorando su questo stesso problema. - E nessuno di noi è stato in grado di trovare la risposta ancora. – MEM
Quali sono le tue regole()? – JorgeeFG