2017-06-29 3 views
0

Ich versuche, ein mehrere Dropdownlist validieren, wie folgt aus:Validate mehrere Dropdown yii2

example error

Ansicht/Form:

<?= 
$form->field($hours, 'hours_id', ['template' => '{label}{input}<span class="help-block">{hint}{error}</span>'])->dropDownList(Hours::getHierarchy(), ['size' => 10, 'multiple' => 'multiple'], ['prompt' => Yii::t('app', '-- Select --'), 
]) 
?> 

Modell Regeln:

['hours_id', 'each', 'rule' => ['integer']], 

Ergebnis:

Hour ist ungültig.

Jemand weiß, was los ist? Ich habe versucht, eine benutzerdefinierte Validierung durchzuführen, und ich bekomme den gleichen Fehler.

Antwort

0

Können Sie bitte diese Antwort überprüfen.

Ihr Modell Regel wie dieser mir

[['hours_id'], 'each','integer'], 

ändern lassen Sie es wissen, ob es funktioniert.

0

standardmäßig mit mehrere Auswahl Dropdown für ein Feld name werden Optionen in folgendem Format:

name=value1&name=value2 

Um in der Lage sein, Daten als Array zu erhalten (wie es für each Validierung Verdacht) sollten Sie name[] anstelle von name.

Für Ihren Fall

<?= 
    $form->field($hours, 'hours_id[]', ['template' => '{label}{input}<span class="help-block">{hint}{error}</span>'])->dropDownList(Hours::getHierarchy(), ['size' => 10, 'multiple' => 'multiple'], ['prompt' => Yii::t('app', '-- Select --')]) 
?>