Ich versuche, das Array mit den Fehlernachrichten ($ validator-> errors () -> getMessages ()) zu durchlaufen und seine Objekte in ein anderes Array zu verschieben ($ error).
$error = array();
$validator = Validator::make($request->all(),[
"username" => "required|unique:User",
"password" => "required",
"fullname" => "required|unique:Profile",
"email" => "required|email|unique:Profile"
]);
if($validator->fails()) :
foreach($validator->errors()->getMessages() as $m => $key):
array_push($error,$key);
endforeach;
endif;
und schleifen Sie dann zum neuen Array ($ error) und erstellen Sie eine String-Basis für die neuen Array-Objekte ($ str).
$str = "<ul class="c_red padding_zero margin_zero menu">";
foreach($error as $e ){ // this is the line 113
$str.= "<li>".$e."</li>";
}
$str.="</ul>";
return array("success" => false, "message" => $error );
aber es gibt einen Fehler zurück
Array-zu-String-Konvertierungszeile 113
Hier ist die Antwort, wenn keine Schleife zum $ error - Array erzeugt wird, um einen $ str - String zu erstellen
{"success": false, "message": [["Das Feld Benutzername ist erforderlich."], ["Das Feld Kennwort> ist erforderlich."], ["Das Feld Vollständiger Name ist erforderlich."], ["Die E-Mail-Adresse Feld ist> erforderlich. "]]}
Antworten:
0 für die Antwort № 1Jeder Schlüssel in den Fehlern kann mehr als einen Fehler enthalten, also wird es eine Zeichenfolge sein ...
also könntest du das tun:
if($validator->fails()) :
foreach($validator->errors()->getMessages() as $validationErrors):
if (is_array($validationErrors)) {
foreach($validationErrors as $validationError):
$error[] = $validationError;
endforeach;
} else {
$error[] = $validationErrors;
}
endforeach;
endif;
Hier erhalten Sie ein Array aller Fehlermeldungen ...