File size: 741 Bytes
158bb31
 
 
 
7beb700
1cea019
158bb31
 
1cea019
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158bb31
 
 
1cea019
158bb31
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package response

import (
	"api.qobiltu.id/models"
	"api.qobiltu.id/pkg/validation"
	"github.com/go-playground/validator/v10"
)

func HandleValidationError(err error) error {
	validationErrors, ok := err.(validator.ValidationErrors)
	if !ok {
		return models.Exception{
			ValidationError: true,
			Message:         "Validation failed",
		}
	}

	validationErrorMessages := make([]validation.ErrorMessage, len(validationErrors))
	for i, err := range validationErrors {
		validationErrorMessages[i] = validation.ErrorMessage{
			Field:   err.Field(),
			Message: err.Error(),
		}
	}

	return models.Exception{
		ValidationError:       true,
		Message:               "Validation failed",
		ValidationErrorFields: validationErrorMessages,
	}
}