// GetNameValidationFunc returns a name validation function that includes the standard restrictions we want for all types func GetNameValidationFunc(nameFunc validation.ValidateNameFunc) validation.ValidateNameFunc { return func(name string, prefix bool) []string { if reasons := path.ValidatePathSegmentName(name, prefix); len(reasons) != 0 { return reasons } return nameFunc(name, prefix) } }
func ValidateTokenName(name string, prefix bool) []string { if reasons := path.ValidatePathSegmentName(name, prefix); len(reasons) != 0 { return reasons } if len(name) < MinTokenLength { return []string{fmt.Sprintf("must be at least %d characters long", MinTokenLength)} } return nil }
func ValidateClientAuthorizationName(name string, prefix bool) []string { if reasons := path.ValidatePathSegmentName(name, prefix); len(reasons) != 0 { return reasons } lastColon := strings.Index(name, ":") if lastColon <= 0 || lastColon >= len(name)-1 { return []string{"must be in the format <userName>:<clientName>"} } return nil }
func ValidateProjectName(name string, prefix bool) []string { if reasons := path.ValidatePathSegmentName(name, prefix); len(reasons) != 0 { return reasons } if len(name) < 2 { return []string{"must be at least 2 characters long"} } if reasons := validation.ValidateNamespaceName(name, false); len(reasons) != 0 { return reasons } return nil }
func validateRedirectReference(ref *api.RedirectReference) field.ErrorList { allErrs := field.ErrorList{} if len(ref.Name) == 0 { allErrs = append(allErrs, field.Required(field.NewPath("name"), "may not be empty")) } else { for _, msg := range path.ValidatePathSegmentName(ref.Name, false) { allErrs = append(allErrs, field.Invalid(field.NewPath("name"), ref.Name, msg)) } } switch ref.Kind { case "": allErrs = append(allErrs, field.Required(field.NewPath("kind"), "may not be empty")) case "Route": // Valid, TODO add ingress once we support it and update error message default: allErrs = append(allErrs, field.Invalid(field.NewPath("kind"), ref.Kind, "must be Route")) } // TODO validate group once we start using it return allErrs }