我知道IPv4和IPv6的验证格式。但不确定如何将它们组合在一起,因此至少有一种格式应该是真的。这是我的验证
validates :src_ip_addr, :presence => true, :uniqueness => true,
:format => { :with => Resolv::IPv4::Regex, :message => "Not an valid IPv4 format"}
validates :src_ip_addr, :presence => true, :uniqueness => true,
:format => { :with => Resolv::IPv6::Regex, :message => "Not an valid IPv6 format"}
如何将它们组合起来如果一种格式正确则验证应该有效。仅当ipv4和ipv6格式不正确时才会失败。
感谢。
答案 0 :(得分:13)
您还可以将它们与Regexp.union
结合使用:
:format => { :with => Regexp.union(Resolv::IPv4::Regex, Resolv::IPv6::Regex) ...