我需要将 Laravel 表单验证错误数组转换为仅包含值的字符串。 我不想使用 json_encode。
就我而言,我正在尝试使用ajax 来执行保存编辑功能。 所以我决定从控制器获取表单验证错误作为字符串。
编写回调函数将错误数组转换为字符串,因此错误键可能会改变形式。我该怎么做。
有没有更好的方法来处理这种情况..
这是我尝试过的
if ($validator->fails()) {
$error = $validator->getMessageBag()->toArray();
echo '<pre>'; print_r($error); echo '</pre>';
$error_str = '';
foreach ($error as $row){
$error_str .= $row[0].'</br>';
}
echo $error_str;
}
您不应该使用
$row[0]
,因为它只会从特定字段的错误列表中获取第一个错误。 $str = implode("\n",
array_map( function( $e, $key ){
return $key.": ". implode(", ",$e);
}, $error, array_keys($error) )
);
print_r($str);