Ist es möglich, die fehlerhaften Elemente aus dem Eingabe-Array (oder Indizes mindestens) zu bekommen?Laravel - Erhalte ungültige Elemente vom Validator
Beispiel:
$data = [
['name' => 'John', 'age' => 30],
['name' => 'Robert', 'age' => 'nope'],
['name' => ['woops'], 'age' => 10]
];
$validator = \Validator::make($data, [
'*.name' => 'required|string|max:200',
'*.age' => 'required|int'
]);
if(!$validator->passes()){
/*
Get all the failed elements.
In this case:
[
['name' => 'Robert', 'age' => 'nope'],
['name' => ['woops'], 'age' => 10]
]
*/
$fails = $validator->getFailElements();
// OR
/*
Get failed indexes:
[1,2]
*/
$indexes = $validator->getFailIndexes();
//Proceed...
}
Der Grund ist, dass ich ungültige Daten in einer Tabelle einfügen möchte, so dass es möglich ist, später die Einträge zu reparieren ...
ich hier einige Tests gemacht. Die Methode gibt ein leeres Array zurück, auch wenn falsche Daten vorhanden sind. Mit Laravel 5.2 hier – CarlosCarucce
Das ist seltsam. Überprüfen Sie die Validator.php-Datei und sehen Sie, ob Sie mit dem, was drin ist, experimentieren können. –
Ja, es ist da. Ich dachte, es wäre etwas mit den Regeln zuerst, aber sie scheinen in Ordnung zu sein (mit dem gleichen wie hier) – CarlosCarucce