je suivantes: donnéesyii2 validation d'entrées gamme
Array
(
[category] => Array
(
[0] => d
[1] => 100
[2] => 100
[3] => 100
)
[volume] => Array
(
[0] => 100
[1] => 100
[2] => 100
)
[urgency] => Array
(
[0] => 100
[1] => 100
[2] => 100
)
[importance] => Array
(
[0] => 100
[1] => 100
[2] => 100
)
)
Et j'ai créé pour DynamicModel avec des règles « chaque valeur doit être un entier » (ajouté en 2.0.4).
$view_model = DynamicModel::validateData(compact('category', 'volume', 'urgency', 'importance'), [
[['category', 'volume', 'urgency', 'importance'], 'each', 'rule' => ['integer']],
]);
Vu que j'ai:
<?= $form->field($model, 'category[0]')->textInput() ?>
<?= $form->field($model, 'category[1]')->textInput() ?>
<?= $form->field($model, 'category[2]')->textInput() ?>
...
<?= $form->field($model, 'importance[2]')->textInput() ?>
Le problème est, lorsque je soumets forme avec "d" dans la première entrée, j'avoir des erreurs sur chaque "catégorie" entrée:
Ce que je fais mal?
Chaque validateur valide les valeurs de tableau associées à un attribut de modèle spécifique. Donc, si l'une des valeurs de tableau ne valide pas l'attribut entier considéré comme invalide. En d'autres termes, vous n'avez aucune information sur l'élément de tableau qui a provoqué une erreur de validation. – aalgogiver
@aalgogiver bien sûr, il peut obtenir des informations sur quel élément de tableau a provoqué une erreur de validation. C'est facilement possible via: '$ view_model-> getErrors()'. –
@aalgogiver Donc c'est le bon comportement du framework? –