// Validate fields of a entity when creating, updating, etc.
package validation

import (
	"fmt"
)

func ErrRequired(field string) error {
	return ErrField(field, "is required")
}

func ErrDuplicate(field string, dupVal any) error {
	return ErrField(field, "duplicate value: %v", dupVal)
}

func ErrInvalid(field string, val any) error {
	return ErrField(field, "invalid value: %v", val)
}

func ErrField(field string, format string, a ...any) error {
	format = fmt.Sprintf(`field "%s" error: `, field) + format
	return fmt.Errorf(format, a...)
}
