diff --git a/controllers/networkHttpController.go b/controllers/networkHttpController.go index c083d043..cc669b56 100644 --- a/controllers/networkHttpController.go +++ b/controllers/networkHttpController.go @@ -149,8 +149,11 @@ func validateNetworkCreate(network models.Network) error { return isvalid }) _ = v.RegisterValidation("addressrange6_valid", func(fl validator.FieldLevel) bool { - isvalid := fl.Field().String() == "" || functions.IsIpCIDR(fl.Field().String()) - return isvalid + isvalid := true + if *network.IsDualStack { + isvalid = functions.IsIpCIDR(fl.Field().String()) + } + return isvalid }) diff --git a/models/network.go b/models/network.go index 180f4704..05ca3200 100644 --- a/models/network.go +++ b/models/network.go @@ -11,7 +11,7 @@ import ( type Network struct { ID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"` AddressRange string `json:"addressrange" bson:"addressrange" validate:"required,addressrange_valid"` - AddressRange6 string `json:"addressrange6" bson:"addressrange6" validate:"required,addressrange6_valid"` + AddressRange6 string `json:"addressrange6" bson:"addressrange6" validate:"addressrange6_valid"` DisplayName string `json:"displayname,omitempty" bson:"displayname,omitempty" validate:"omitempty,displayname_unique,min=1,max=100"` NetID string `json:"netid" bson:"netid" validate:"required,netid_valid,min=1,max=12"` NodesLastModified int64 `json:"nodeslastmodified" bson:"nodeslastmodified"`