Ich arbeite an einem Formular für mehrere Kontakte in Yii 1.1.16. Wo der Benutzer mehrere Telefonnummern hinzufügen kann.yii validiere ein Eingabe-Array von Telefonnummern
Problem ist, wie würde ich dies mit Yii rules()
validieren?
<div class="form-group">
<?php
echo $form->labelEx($model,'contacts', array('class'=>'col-md-3 control-label'));
?>
<div class="col-md-9">
<div class="multiple-contact multiple-form-group input-group padding-bottom-10px" data-max="5">
<div class="input-group-btn input-group-select">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="concept">Phone</span> <i class="fa fa-caret-down"></i>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#phone">Phone</a></li>
<li><a href="#fax">Fax</a></li>
<li><a href="#mobile">Mobile</a></li>
</ul>
<?php echo $form->textField($model,'contacts',array('type'=>'text', 'class'=>'input-group-select-val', 'name'=>'contacts[type][]','value'=>'phone')); ?>
</div>
<?php echo $form->textField($model,'contacts',array('size'=>60,'maxlength'=>255, 'name'=>'contacts[value][]','class'=>'form-control')); ?>
<?php echo $form->error($model,'contacts'); ?>
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-add"><i class="fa fa-plus"></i></button>
</span>
</div>
</div>
</div>
Ich habe versucht, dies mit, aber nicht
public function rules()
{
return array(
array('contacts[value][]', 'required'),
array('contacts[value][]', 'integerOnly'=>true),
array('contacts[value][]','type','type'=>'array','allowEmpty'=>false)
);
}
Hier ist ein Beispiel ist Fiddle, wie die jQuery Seite funktioniert funktioniert. Ich möchte es mit 'enableAjaxValidation'=>true,
validieren können. Wenn mehrere Felder hinzugefügt werden, wird außerdem der id
des Eingangs dupliziert. und keine Ajax Post ist fertig onblur/onfocus
Wie speichern Sie sie in Ihrer Datenbank? Sind sie in einer anderen Tabelle getrennt? –
speichert sie in einer anderen Tabelle. nur nicht sicher, wie man sie in Yii validiert. – user2636556
@ user3535256 es muss ein int sein, und erforderlich – user2636556