mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Make IsDNS1123Subdomain return error strings
This commit is contained in:
		@@ -47,8 +47,8 @@ func IsQualifiedName(value string) []string {
 | 
			
		||||
		prefix, name = parts[0], parts[1]
 | 
			
		||||
		if len(prefix) == 0 {
 | 
			
		||||
			errs = append(errs, "prefix part "+EmptyError())
 | 
			
		||||
		} else if !IsDNS1123Subdomain(prefix) {
 | 
			
		||||
			errs = append(errs, fmt.Sprintf("prefix part must be a DNS subdomain (e.g. 'example.com')"))
 | 
			
		||||
		} else if msgs := IsDNS1123Subdomain(prefix); len(msgs) != 0 {
 | 
			
		||||
			errs = append(errs, prefixEach(msgs, "prefix part ")...)
 | 
			
		||||
		}
 | 
			
		||||
	default:
 | 
			
		||||
		return append(errs, RegexError(qualifiedNameFmt, "MyName", "my.name", "123-abc")+
 | 
			
		||||
@@ -110,8 +110,15 @@ var dns1123SubdomainRegexp = regexp.MustCompile("^" + DNS1123SubdomainFmt + "$")
 | 
			
		||||
 | 
			
		||||
// IsDNS1123Subdomain tests for a string that conforms to the definition of a
 | 
			
		||||
// subdomain in DNS (RFC 1123).
 | 
			
		||||
func IsDNS1123Subdomain(value string) bool {
 | 
			
		||||
	return len(value) <= DNS1123SubdomainMaxLength && dns1123SubdomainRegexp.MatchString(value)
 | 
			
		||||
func IsDNS1123Subdomain(value string) []string {
 | 
			
		||||
	var errs []string
 | 
			
		||||
	if len(value) > DNS1123SubdomainMaxLength {
 | 
			
		||||
		errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength))
 | 
			
		||||
	}
 | 
			
		||||
	if !dns1123SubdomainRegexp.MatchString(value) {
 | 
			
		||||
		errs = append(errs, RegexError(DNS1123SubdomainFmt, "example.com"))
 | 
			
		||||
	}
 | 
			
		||||
	return errs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const DNS952LabelFmt string = "[a-z]([-a-z0-9]*[a-z0-9])?"
 | 
			
		||||
@@ -239,3 +246,10 @@ func RegexError(fmt string, examples ...string) string {
 | 
			
		||||
func EmptyError() string {
 | 
			
		||||
	return "must be non-empty"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func prefixEach(msgs []string, prefix string) []string {
 | 
			
		||||
	for i := range msgs {
 | 
			
		||||
		msgs[i] = prefix + msgs[i]
 | 
			
		||||
	}
 | 
			
		||||
	return msgs
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user