我正在寻找在我的 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;
}
使用此设置,它仅在字符串包含 7 到 15 个字符时验证,但如果它是 IP 地址则不会。
有点像
@validIpAddress
private String ip;
会很好。
知道这是否可能吗?
最佳答案
您可以使用带有 IP 地址正则表达式的 JSR 303 模式 validator :
@NotNull
@Pattern(regexp = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$")
private String ip;
编辑:转义反斜杠
关于java - Spring IP 地址验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14877019/