java - Spring IP 地址验证

标签 java spring validation ip spring-roo

我正在寻找在我的 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/

相关文章:

java - equals(...) 和 equalsIgnoreCase(...)

java - 2 个 POST 请求处理程序(ResponseBody + "Normal")

javascript - 使用 getMonth() 获取不同的输出

java - 使用maven(heroku)编译java7项目时出错

java - 是否可以在没有 AdminOperations 的情况下使用 java AdminClient 访问 WebSphere 变量?

java - 如何将 MySQL 数据库中的 id 解析为变量

java - Spring 具有 IntelliJ 属性 p :prefix is not allowed here

java - 获取方法 url 在文件名(源)之前包含 %E2%81%A9,为什么?

ruby-on-rails - Rails/Active Record FAILSAFE 错误 "User can' t 被引用”

java - 如何获取 'pie' 或 'vertical bar' 之间的数据 |使用java在数据库中?