podman

Форк
0
47 строк · 937.0 Байт
1
package govalidator
2

3
import (
4
	"sort"
5
	"strings"
6
)
7

8
// Errors is an array of multiple errors and conforms to the error interface.
9
type Errors []error
10

11
// Errors returns itself.
12
func (es Errors) Errors() []error {
13
	return es
14
}
15

16
func (es Errors) Error() string {
17
	var errs []string
18
	for _, e := range es {
19
		errs = append(errs, e.Error())
20
	}
21
	sort.Strings(errs)
22
	return strings.Join(errs, ";")
23
}
24

25
// Error encapsulates a name, an error and whether there's a custom error message or not.
26
type Error struct {
27
	Name                     string
28
	Err                      error
29
	CustomErrorMessageExists bool
30

31
	// Validator indicates the name of the validator that failed
32
	Validator string
33
	Path      []string
34
}
35

36
func (e Error) Error() string {
37
	if e.CustomErrorMessageExists {
38
		return e.Err.Error()
39
	}
40

41
	errName := e.Name
42
	if len(e.Path) > 0 {
43
		errName = strings.Join(append(e.Path, e.Name), ".")
44
	}
45

46
	return errName + ": " + e.Err.Error()
47
}
48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.