我正在寻找在Spring roo项目中验证IP地址的可能性.
我的实体看起来像这样
package com.ip.test.domain;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
import org.springframework.roo.addon.tostring.RooToString;
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class IP {
@NotNull
@Size(min = 7, max = 15)
private String ip;
@ManyToOne
private Hoster Hoster;
}
Run Code Online (Sandbox Code Playgroud)
使用此设置,仅当字符串包含7到15个字符时才会进行验证,但如果它是IP地址则不会验证.
就像是
@validIpAddress
private String ip;
Run Code Online (Sandbox Code Playgroud)
会好的.
知道这是否可能?
我正在寻找一种通过约束验证Grails中的IP地址的方法.
这样的事情可能吗?
package example
class Ip {
String ip
static constraints = {
ip(unique: true, inetAddress: true)
}
}
Run Code Online (Sandbox Code Playgroud)
我找到了这个链接:http://grails.org/doc/2.2.x/api/org/codehaus/groovy/grails/validation/routines/InetAddressValidator.html,但我不知道如何实现这个.
我对动态变量名称有疑问
我有像这样的形式参数
ip1
ip2
ip3
dns1
dns2
...
Run Code Online (Sandbox Code Playgroud)
我知道多少,但我不知道如何在控制器中创建变量名
def ipcount = params.count
for (i = 1; i = ipcount ; i++ ){
def systems = new Ip()
systems.inetAddress = params.ip+${i} <---- How do I create these variable name?
....
Run Code Online (Sandbox Code Playgroud)