1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-01 09:51:39 -05:00
forgejo/modules/validation/validateable.go
2024-02-10 15:16:59 +01:00

32 lines
531 B
Go

// Copyright 2023 The forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package validation
import (
"fmt"
"strings"
)
type ValidationFunctions interface {
Validate() []string
IsValid() (bool, error)
}
type Validateable struct {
ValidationFunctions
}
func IsValid(v any) (bool, error) {
if err := Validate(v); len(err) > 0 {
errString := strings.Join(err, "\n")
return false, fmt.Errorf(errString)
}
return true, nil
}
func Validate(v any) []string {
var result = []string{}
return result
}