首页 > 解决方案 > 我怎样才能只为所有字段传递一条消息

问题描述

这是产生成功和失败错误的注册函数代码。

public function register(Request $request) {    
 $validator = Validator::make($request->all(), 
              [ 
              'user_type' => 'required',
              'fname' => 'required',
              'lname' => 'required',
              'dob' => 'required',
              'phone' => 'required',
              'gender' => 'required',
              'uname' => 'required',
              'email' => 'required|email',
              'password' => 'required',  
              'c_password' => 'required|same:password', 
             ]);   
 if ($validator->fails()) {          
       return response()->json(['failed'=>$validator->errors()], 401);                        }    
 $input = $request->all();  
 $input['password'] = bcrypt($input['password']);
 $user = User::create($input); 
 $success['token'] =  $user->createToken('AppName')->accessToken;
 $success['status'] = true;
 $success['data'] = [$user];
 $success['message'] ="User created successfully!";
 
    //  return response()->json([
    //     "message" => " record created"
    // ], 201);
 return response()->json($success, $this->successStatus); 
}

这是我的输出在此处输入图像描述

1.所有错误消息都显示在一行中..这是我的主要观点..但我实际上想要这张图片的这条消息......我该怎么做?2.API中的第二件事,如果任何用户输入相同的电子邮件ID api给出json错误而不是laravel错误..

在此处输入图像描述

标签: laravellaravel-5laravel-4

解决方案


尝试这个:

return response()->json(['status'=> False, 'msg' => 'This is not successful'], 401); 

您可以在响应中传递自定义 json 而不是验证器响应。

要检查电子邮件是否存在,请更新验证,如下所示:

'email' => 'required|email|unique:users,email',

users你的表名和email列名在哪里


推荐阅读