我开发了一个有用的响应结果。但是它没有返回我想要的结果,所以我不能得到errorMessage"部分。
下面是我的代码:ResponseResult.php
namespace AppHelpers;
class ResponseResult
{
public static function generate(bool $success = true, $message = null, int $errorCode = 200) : object
{
if ($success) {
return response()->json(['success' => $success, 'message' => $message], $errorCode);
} else {
return response()->json(['success' => $success, 'errorMessage' => $message, 'errorCode' => $errorCode],$errorCode);
}
}
}
ExampleController
$validate = Validator::make($request->all(), [
'name' => 'required',
'lastname' => 'required',
]);
if ($validate->fails()) {
return ResponseResult::generate(false,$validate->messages(),ResponseCodes::HTTP_BAD_REQUEST);
}
网络输出:
{success: false, errorMessage: {name: ["Name field is required."], lastname: ["lastname field is required."]},…}
errorCode: 404
errorMessage: {name: ["Name field is required."], lastname: ["lastname field is required."]}
success: false
我不能打印任何错误,当我试图得到它作为ErrorMessage。有人能帮忙吗?
result.errorMessage.forEach(function (data) {
$('#ajaxFails ul').append('<li>' + data + '</li>');
});
提前谢谢。
如果您将console.log(result)
,您很可能会看到您返回的数据嵌入到data
属性。因此,显示错误消息的正确方法是:
result.data.errorMessage.forEach(function (data) {
$('#ajaxFails ul').append('<li>' + data + '</li>');
});
但又……这完全取决于你如何构建你的数据响应。
我返回验证错误如下:
$validate = Validator::make($request->all(), [
'name' => 'required',
'lastname' => 'required',
]);
if ($validate->fails()) {
$error = $validator->errors();
return response()->json([
'responseCode' => app('IlluminateHttpResponse')->status(),
'error' => $error,
'success' => false,
'message'=>'',
]);
}
希望这对你有帮助😐😐😐