【问题标题】:Validate ip address in Grails在 Grails 中验证 IP 地址
【发布时间】:2013-07-08 08:19:41
【问题描述】:

我正在寻找一种通过约束在 Grails 中验证 IP 地址的方法。

这样的事情可能吗?

package example

class Ip {

    String ip

    static constraints = {
        ip(unique: true, inetAddress: true)
    }
}

我找到了这个链接:http://grails.org/doc/2.2.x/api/org/codehaus/groovy/grails/validation/routines/InetAddressValidator.html,但我不知道如何实现。

【问题讨论】:

    标签: validation grails-2.0 grails-domain-class grails-validation


    【解决方案1】:

    我找到了我搜索的解决方案

    import org.codehaus.groovy.grails.validation.routines.InetAddressValidator
    
    class Ip {
    
       String ip
    
    
    
     static constraints = {
        ip(blank: false, unique: true, validator: { 
             return InetAddressValidator.getInstance().isValidInet4Address(it) 
             } )
     }
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用正则表达式来验证 IP 地址格式。

      class Ipaddr {
      
          String ip_addr
      
          static constraints = {
              ip_addr(matches:/^([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$/)
          }
      }
      

      如果您需要特定范围,可以使用以下方法构建正则表达式:

      IP地址范围工具http://support.google.com/bin/answer.py?hl=en&answer=1034771

      【讨论】:

      • 谢谢!但我更多的是寻找使用 API 验证例程的解决方案
      • 您好,我刚刚发现google的答案已经不在网上了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 2012-04-14
      • 1970-01-01
      相关资源
      最近更新 更多