Pourquoi ai-je l'erreur "Type de décalage illégal" dans ce code sur la ligne $errors[$field] .= "<div class="error"><p>" . $error . "</p></div>";
?
Code:
$errors = [];
foreach ($validation->errors() as $field)
{
$errors[$field] = "";
foreach ($field as $error) {
$errors[$field] .= "<div class="error"><p>" . $error . "</p></div>";
}
}
Validation:
private function addError($field, $error)
{
$this->errors[$field][] = $error;
}
public function errors()
{
return $this->errors;
}
Solution:
foreach ($validation->errors() as $key => $fieldErrors)
{
$errors[$key] = "";
foreach ($fieldErrors as $error) {
$errors[$key] .= "<div class="error"><p>" . $error . "</p></div>";
}
}
Réponses:
3 pour la réponse № 1foreach ($field as $error)
cette ligne suggère que $field
est un tableau. Vous ne pouvez pas utiliser un tableau en tant que clé d'un autre tableau.
$errors[$field] << won"t work!
Pour réparer, changez votre addError
méthode pour:
private function addError($field, $error)
{
$this->errors[$field] .= $error; //I changed [$field][] to [$field]
}