Rails 3 验证 IPv4 和 IPv6 格式
Posted
技术标签:
【中文标题】Rails 3 验证 IPv4 和 IPv6 格式【英文标题】:Rails 3 validate IPv4 and IPv6 format 【发布时间】:2013-06-02 16:11:03 【问题描述】:我知道 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 格式不正确时才会失败。
谢谢。
【问题讨论】:
【参考方案1】:您也可以将它们与Regexp.union
结合使用:
:format => :with => Regexp.union(Resolv::IPv4::Regex, Resolv::IPv6::Regex) ...
【讨论】:
以上是关于Rails 3 验证 IPv4 和 IPv6 格式的主要内容,如果未能解决你的问题,请参考以下文章
(替代解决方案)使用正则表达式使用通配符 (*) 验证 IPV4 和 IPV6