入力配列(または少なくともインデックス)から失敗した要素を取得することは可能ですか?Laravel - Validatorから無効な要素を取得
例:
$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...
}
理由は、私がテーブルに無効なデータを挿入したいということですので、後にこれらのエントリを修正することが可能である...
を試してみてください。このメソッドは、間違ったデータがある場合でも、空の配列を返します。ここではlaravel 5.2を使用しています – CarlosCarucce
これは奇妙です。 Validator.phpファイルをチェックアウトし、そこにあるものを試すことができるかどうかを確認します。 –
はい、そこにあります。 – CarlosCarucce