在这里得到一个我一直在思考一天左右。
我有一个普通的Java Bean,它上面是一个String属性,可以合法地为null或空,但是如果它不是null或为空,那么我有一个正则表达式来验证它是一个有效的浮点数。 / p>
我已经安排了我的注释
@Pattern(regexp = VALID_FLOAT, message = "Incorrect format")
private String elevation;
问题是,当值为null或为空时,它仍然无法验证! “格式不正确”
请有人帮帮忙吗?提前致谢
答案 0 :(得分:2)
虽然不是强制性的,但将核心约束验证与not分开是一种很好的做法 null约束验证(例如,
@NotNull
验证)
因此@Pattern
应该对字符串的空值有效。然后,您的VALID_FLOAT
模式应处理空字符串,或者您需要明确说明EMPTY+"|"+VALID_FLOAT
。
但是我认为null和空String的歧义并不是一个好习惯。你应该决定一个。