我是laravel的新手,正在使用api,我制作了一个实现了验证的api。一切工作都很好,但是我却坚持了一点。我想更改验证错误中的密钥名称。例如对于“唯一”验证错误。现在显示的是
我想用“消息”(文本)重命名“电子邮件”(文本)键
我在illuminate / support / validation.php中尝试了很多事情
messagebag.php文件,但如果更改,则显示错误信息“数据未定义”。
我关注的链接是
Override laravel validation message
这是验证码
$validator = Validator::make($request->all(), [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|unique:users',
'fcm_token' => 'required',
'password' => 'required',
'c_password' => 'required|same:password'
]);
您可以手动遍历错误MessageBag并构造响应以替换密钥
$validator = Validator::make($request->all(), [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|unique:users',
'fcm_token' => 'required',
'password' => 'required',
'c_password' => 'required|same:password'
]);
$errors = [];
foreach ($validator->errors()->messages() as $key => $value) {
if($key == 'email')
$key = 'message';
$errors[$key] = is_array($value) ? implode(',', $value) : $value;
//implode is for when you have multiple errors for a same key
//like email should valid as well as unique
}
$result = array("status" => count($errors)?0:1, 'data'=>$errors);
return $result;
在幼虫中,您可以使用此
'email'=>'required|email'