diff --git a/pkg/compute/models/elasticcache_acls.go b/pkg/compute/models/elasticcache_acls.go index 06965a5477..7499a6a855 100644 --- a/pkg/compute/models/elasticcache_acls.go +++ b/pkg/compute/models/elasticcache_acls.go @@ -256,12 +256,19 @@ func (self *SElasticcacheAcl) ValidateUpdateData(ctx context.Context, userCred m } ipV := validators.NewIPv4AddrValidator("ip") + cidrV := validators.NewIPv4PrefixValidator("ip") _ips := strings.Split(ips, ",") for _, ip := range _ips { params := jsonutils.NewDict() params.Set("ip", jsonutils.NewString(ip)) - if err := ipV.Validate(params); err != nil { - return nil, err + if strings.Contains(ip, "/") { + if err := cidrV.Validate(params); err != nil { + return nil, err + } + } else { + if err := ipV.Validate(params); err != nil { + return nil, err + } } }