diff --git a/pkg/schema/field/object.go b/pkg/schema/field/object.go index d86aa2352544f68ea837152ec6799677f4624d1a..83d234cd26041b9448d4465665e74787aa41666a 100644 --- a/pkg/schema/field/object.go +++ b/pkg/schema/field/object.go @@ -12,7 +12,7 @@ import ( ) var objectType = &ObjectType{} -var isValidName = regexp.MustCompile(`^[a-zA-Z][\w]*$`).MatchString +var isValidName = regexp.MustCompile(`^[a-zA-Z][\w-]*$`).MatchString type ObjectParameters struct { Inline bool `json:"inline"` @@ -219,7 +219,7 @@ func (ObjectType) ValidateParameters(p Parameters) error { for k := range params.Fields { if !isValidName(k) { return fmt.Errorf("field name '%s' must be in Latin, must not start with a number, "+ - "must not contain spaces - only characters '_' can be used", k) + "must not contain spaces - only characters '_' or '-' can be used", k) } } } diff --git a/pkg/schema/field/object_test.go b/pkg/schema/field/object_test.go index 2ada594bcdeba09fab5dfcc95eb947e2028766d9..0dc179a7269207b49abff15acc06aa16b3fea412 100644 --- a/pkg/schema/field/object_test.go +++ b/pkg/schema/field/object_test.go @@ -199,7 +199,7 @@ func TestFieldNameValidate(t *testing.T) { { "Contains hyphen", "field-name", - true, + false, }, { "Contains underscore (success)",