我有一个表单(Spring 3 MVC 项目),我正在使用 DTO(数据传输对象)进行数据验证。数据被发送到控制器,我正在使用BindingResult.hasErrors()
方法和适当的注释检查它的有效性。我将在这里进行简化,因为我遇到了数字字段的问题。
DTO:
public class Item {
private String discount;
@Digits(integer = 15, fraction = 2)
public String getDiscount() {
return discount;
}
}
如果我提交的表单中没有任何内容discount
,BindingResult.hasErrors()
将返回 true 并返回消息
numeric value out of bounds (<15 digits>.<2 digits> expected)
.
我想要完成的是该discount
字段可以为空,但如果其中写入了某些内容,则它应该是@Digits
注释提供的数字格式。我怎样才能做到这一点?