Исключение проверки броска показывает, что данные неверны - PullRequest
0 голосов
/ 29 апреля 2019

Я использую laravel 5.8 и хочу уловить ошибку проверки с исключением проверки, это мой код:

 $attr = $request->data['attributes'];
        $validator = Validator::make($attr,[
            'nama' => 'required|string',
            'scope' => 'required|string'
        ]);

try{
    if($validator->fails()){
        //$err = ValidationException::withMessages($validator->errors()->getMessages());
        throw new ValidationException($validator);
    }            
}catch(ValidationException $e){
       return response()->json([
           'status'=> 'error',
           'code' => 400,
           'detail' => $e->getMessage()
       ], 400);
}

, но он не отображал сообщение об ошибке проверки, а просто отображал указанные данныеневерно. '

подробности должны быть:

detail:[
    'scope':['Scope field is required']
]

ОБНОВЛЕНО ОБНОВЛЕНИЕ:

просто позвоните $e->errors()

Ответы [ 3 ]

0 голосов
/ 29 апреля 2019

Используйте это, чтобы получить все сообщения об ошибках валидации

$validator = Validator::make($request->all(), [
    'nama' => 'required|string',
    'scope' => 'required|string'
]);
if ($validator->fails()) {
    return response()->json([
        'status' => false,
        'ErrorCode' => 1,
        'error' => $validator->errors()->messages();]);
}
0 голосов
/ 29 апреля 2019

Если вы используете laravel 5.8, чтобы вы могли создать отдельный файл проверки, например FilenameRequest.php от php artisan make:request FilenameRequest

После создания файла запроса ваш файл запроса будет выглядеть следующим образом:

/**
 * Determine if the user is authorized to make this request.
 *
 * @return bool
 */
public function authorize()
{
    return true;
}

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{

        return [
            'scope'   => 'required|max:3',
        ];
}

public function messages()
{
    return [
        'scope'       => 'Scope field is required'
    ];
}

И в вашем методе контроллера вы можете просто использовать этот файл запроса следующим образом

public function store(FilenameRequest $request) {

}

0 голосов
/ 29 апреля 2019
Try this Code

$validator = Validator::make($request->all(), [
        'nama' => 'required|string',
        'scope' => 'required|string'
    ]);
    if ($validator->fails()) {
        return response()->json([
            'status' => false,
            'ErrorCode' => 1,
            'error' => $validator->errors()],
                 400);
                   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...