Как я могу добавить сообщение об ошибке при проверке Laravel?

Помогите плз. Как добавить ошибку пользователя в laravel. Я хочу показать файл JSON - ошибка $regex - правильные правила. Мне нужно получить ошибку при неправильном sourceUrl

           $this->validate($request,[
            'title' => 'required|min:10|max:250', //work
            'subTitle' =>'sometimes|present|nullable|min:10|max:250', //work
            'message' => 'required|min:10',//work
            'recommendPic' => 'present|nullable', //work
            'pic' => 'required|sometimes', //file - check upload file,image need fix
            'sourceUrl' =>'required|regex:'.$regex,
       ],[
            'sourceUrl.regex:'.$regex=>'mistake',
       ]);

person Oleg St    schedule 06.08.2020    source источник
comment
Ваша проблема в том, что вам нужно специальное сообщение об ошибке, или вы не знаете, как отобразить сообщение об ошибке, если ваша проверка не удалась?   -  person Peppermintology    schedule 06.08.2020
comment
да, я не знаю, как показать сообщение об ошибке. Я хочу, чтобы если запрос sourceUrl не отвечал на обычное правило $regex, я получаю ошибку «ошибка». Теперь я просто получаю код 201 в почтальоне, но не получаю сообщения   -  person Oleg St    schedule 06.08.2020
comment
Я предполагаю, что вы работаете с API, как вы упомянули Postman, если нет, уточните в своем вопросе.   -  person Peppermintology    schedule 06.08.2020
comment
Вы можете сделать это stackoverflow.com/a/62172324/4575350   -  person sta    schedule 06.08.2020
comment
да API. На данный момент проблема с отображением сообщений об ошибках   -  person Oleg St    schedule 06.08.2020


Ответы (2)


Вам нужно вернуть сообщения о неудачной проверке, что-то вроде следующего:

$validation = Validator::make($request->all(), [
    'title' => 'required|min:10|max:250', //work
    'subTitle' =>'sometimes|present|nullable|min:10|max:250', //work
    'message' => 'required|min:10',//work
    'recommendPic' => 'present|nullable', //work
    'pic' => 'required|sometimes', //file - check upload file,image need fix
    'sourceUrl' =>'required|regex:'.$regex,
]);

// if validation fails
if ($validation->fails()) {
  return response()->json([
    'status' => 'failure',
    'errors' => $validation->errors()
  ], 400);
}

// validation passes
return response()->json(['status' => 'success'], 200);
person Peppermintology    schedule 06.08.2020

'sourceUrl.regex:'.$regex=>'mistake', недопустимый код PHP.

Должно быть что-то вроде: 'sourceUrl.regex' => 'regex mistake'

Это перенаправляет обратно с сообщением об ошибке regex mistake.

В вашем представлении вы можете напечатать сообщение с помощью @error('sourceUrl') {{ $message }}@enderror.

person Ma Kobi    schedule 06.08.2020