package gitlabcivalidator import ( "fmt" "strings" ) // ValidationError представляет собой совокупную ошибку, // содержащую несколько сообщений об ошибках. type ValidationError struct { Errors []error } func (ve *ValidationError) Error() string { var sb strings.Builder sb.WriteString("Found validation errors:\n") for i, err := range ve.Errors { sb.WriteString(fmt.Sprintf("%d) %s\n", i+1, err.Error())) } return sb.String() } // Add добавляет новую ошибку во внутренний срез ValidationError. func (ve *ValidationError) Add(err error) { if err == nil { return } ve.Errors = append(ve.Errors, err) } // IsEmpty проверяет, есть ли в ValidationError какие-либо ошибки. func (ve *ValidationError) IsEmpty() bool { return len(ve.Errors) == 0 }