2017-06-29 6 views
0

Je suis en train de valider un multiple dropdownlist, comme ceci:Valider plusieurs DropDownList yii2

vue/forme

example error

:

<?= 
$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 --'), 
]) 
?> 

règles du modèle:

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

Résultat:

Hour est invalide.

Quelqu'un sait ce qui ne va pas? J'ai essayé de faire une validation personnalisée, et j'ai la même erreur.

Répondre

0

Pouvez-vous s'il vous plaît vérifier cette réponse.

changer votre règle de modèle comme celui-ci

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

s'il vous plaît laissez-moi savoir si cela fonctionne.

0

Par défaut multipoints sélectionnez vers le bas pour un champ name envoie des options en format suivant:

name=value1&name=value2 

Pour pouvoir recevoir des données sous forme de tableau (comme suspecté pour each validation) Vous devez utiliser name[] au lieu de name.

Pour votre cas

<?= 
    $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 --')]) 
?>