我正在尝试一个简单的模式验证:
@Min(value = 0, message = "invalid.amount")
@Pattern(regexp = "[0-9]+", message = "invalid.amount")
private double amount;
但它给出的错误如下:
org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.throwExceptionForNullValidator(ConstraintTree.java:229)
但这样做非常好:
@Pattern(regexp = "[\\w|-]{1,5}")
private String data;
看起来正则表达式对数字类型不起作用。
1条答案
按热度按时间dxxyhpgq1#
您假设如果子字符串正则表达式匹配通过,@Pattern注解将返回true。如果它不起作用,则您的假设可能不正确。
@模式(正则表达式=,标志=)字符序列
检查带注解的字符串是否与正则表达式正则表达式匹配(考虑给定的标志匹配)。
您可以尝试将double更改为String,并正常使用@Pattern。
也可以是其他方式: