v9.0.0
This commit is contained in:
315
internal/validators/messages.go
Normal file
315
internal/validators/messages.go
Normal file
@@ -0,0 +1,315 @@
|
||||
package validators
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
)
|
||||
|
||||
func errorMessage(fe validator.FieldError) string {
|
||||
prefix := "validation-error:"
|
||||
|
||||
switch fe.Tag() {
|
||||
|
||||
// Common Validators
|
||||
case "required":
|
||||
return fmt.Sprintf("%s %s is required", prefix, fe.Field())
|
||||
case "gt":
|
||||
return fmt.Sprintf("%s %s can't be less or equal to zero", prefix, fe.Field())
|
||||
case "min":
|
||||
return fmt.Sprintf("%s %s: not enough elements", prefix, fe.Field())
|
||||
case "max":
|
||||
return fmt.Sprintf("%s %s: too many elements", prefix, fe.Field())
|
||||
case "url":
|
||||
return fmt.Sprintf("%s %s: unexpected URL format", prefix, fe.Field())
|
||||
case "email":
|
||||
return fmt.Sprintf("%s %s: unexpected E-Mail format", prefix, fe.Field())
|
||||
case "isBool":
|
||||
return fmt.Sprintf("%s %s: must be bool type", prefix, fe.Field())
|
||||
|
||||
case "driver":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(driverValues))
|
||||
|
||||
case "accessType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(accessTypeValues))
|
||||
|
||||
case "resTypes":
|
||||
return fmt.Sprintf("%s %s can contain only the following values: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(resTypesValues))
|
||||
|
||||
case "proto":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(protoValues))
|
||||
|
||||
// Account Validators
|
||||
case "accountCUType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(accountCUTypeValues))
|
||||
|
||||
// BService Validators
|
||||
case "bserviceMode":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(bserviceModeValues))
|
||||
|
||||
// Compute Validators
|
||||
case "computeTopology":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeTopologyValues))
|
||||
|
||||
case "computePolicy":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computePolicyValues))
|
||||
|
||||
case "computeMode":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeModeValues))
|
||||
|
||||
case "computeDiskType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeDiskTypeValues))
|
||||
|
||||
case "mtu":
|
||||
return fmt.Sprint(prefix, fe.Field(), "must be ", mtuMin, "-", mtuMax)
|
||||
|
||||
case "computex86NetType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computex86NetTypeValues))
|
||||
|
||||
case "computeNetType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeNetTypeValues))
|
||||
|
||||
case "computeOrder":
|
||||
return fmt.Sprintf("%s %s can contain only the following values: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeOrderValues))
|
||||
|
||||
case "computeDataDisks":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeDataDisksValues))
|
||||
|
||||
case "computeDriver":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeDriverValues))
|
||||
|
||||
// Disk Validators
|
||||
case "diskType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(diskTypeValues))
|
||||
|
||||
// Flipgroup Validators
|
||||
case "flipgroupClientType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(flipgroupClientTypeValues))
|
||||
|
||||
// k8s Validators
|
||||
case "workerGroupName":
|
||||
return fmt.Sprintf("%s %s must be more 3 symbol",
|
||||
prefix,
|
||||
fe.Field())
|
||||
|
||||
// KVM_X86 Validators
|
||||
case "kvmNetType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(kvmNetTypeValues))
|
||||
|
||||
// LB Validators
|
||||
case "lbAlgorithm":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(lbAlgorithmValues))
|
||||
|
||||
// RG Validators
|
||||
case "rgDefNet":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(rgDefNetValues))
|
||||
|
||||
case "rgNetType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(rgNetTypeValues))
|
||||
|
||||
// ViNS Validators
|
||||
case "vinsType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(vinsTypeValues))
|
||||
|
||||
// Image Validators
|
||||
case "imageBootType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(imageBootTypeValues))
|
||||
|
||||
case "imageType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(imageTypeValues))
|
||||
|
||||
case "imageDrivers":
|
||||
return fmt.Sprintf("%s %s must contain only the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(imageDriversValues))
|
||||
|
||||
case "imageArchitecture":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(imageArchitectureValues))
|
||||
|
||||
// SEP Validators
|
||||
case "sepFieldType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(sepFieldTypeValues))
|
||||
|
||||
// HWPath Validators
|
||||
case "hwPath":
|
||||
return fmt.Sprintf("%s %s must be in format 0000:1f:2b.0",
|
||||
prefix,
|
||||
fe.Field())
|
||||
|
||||
// Network plugin Validators
|
||||
case "networkPlugin":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(networkPluginValues))
|
||||
|
||||
case "networkPlugins":
|
||||
return fmt.Sprintf("%s %s must contain only the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(networkPluginValues))
|
||||
|
||||
case "strict_loose":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(strictLooseValues))
|
||||
|
||||
case "interfaceState":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(interfaceStateValues))
|
||||
|
||||
case "interfaceTXModel":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(txModelValues))
|
||||
|
||||
case "interfaceIOEventFD":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(ioEventFDValues))
|
||||
|
||||
case "interfaceEventIDx":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(eventIDxValues))
|
||||
|
||||
case "sortBy":
|
||||
return fmt.Sprintf("%s %s must be in format +|-(field)",
|
||||
prefix,
|
||||
fe.Field())
|
||||
|
||||
case "action":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(actionValues))
|
||||
|
||||
case "vmaction":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(vmActionValues))
|
||||
|
||||
case "computeFeatures":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(computeFeaturesValues))
|
||||
|
||||
case "networkInterfaceNaming":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(networkInterfaceNamingValues))
|
||||
|
||||
case "numaAffinity":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(numaAffinityValues))
|
||||
|
||||
case "kvmx86NetType":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(kvmx86NetTypeValues))
|
||||
|
||||
case "chipset":
|
||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||
prefix,
|
||||
fe.Field(),
|
||||
joinValues(chipsetValues))
|
||||
}
|
||||
|
||||
return fe.Error()
|
||||
}
|
||||
|
||||
func joinValues(values []string) string {
|
||||
return strings.Join(values, ", ")
|
||||
}
|
||||
Reference in New Issue
Block a user