当我在编辑器中使用双重框来编辑双重属性(requestFactoryedItordRiver)如果我清除了盒子的值,我会得到无效的指针例外?
如果是这样,如何使用JSR 303验证验证双箱?
我的代码看起来像这样:
@DecimalMin(value="0.0", message="decimalMin:0.0", groups = {ImpuestoGroup.class, ImpuestoIepsGroup.class})
public double getTasaImpuesto();
<g:DoubleBox ui:field="tasaImpuesto"></g:DoubleBox>
@UiField DoubleBox tasaImpuesto;
当我调用driver.flush()需要检查约束时,我有此结果:
如果我放置一个值与数字不同如果我将低于0.0的值放置,我可以使用驱动程序将约束设置为editordriver。
当我离开空白时,我期望有一个不良值或约束的列表,但不是无效的指针异常。
我得到的线条就是这一点:
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'value_0' of null
at Unknown.$doubleValue(http://localhost:9876/proj/C6E66C9FC3DCB1FC08DFFFC07FE049E0.cache.js@21:38447)
似乎双箱无法处理空值。
请帮助我。谢谢。
在Google组上回答,为方便起见:
DoubleBox
使用DoubleParser
。DoubleParser
如果值为空字符串,则返回null
,否则使用NumberFormat
,如果无法解析,则抛出ParserException
。您编辑的对象的属性为double
类型,而不是java.lang.Double
,因此当字段为空时,getValue()
返回null
,并且编辑器框架试图取消null
将其放入您的double
属性中,从而将其放入NullPointerException
。以任何非法价值,DoubleParser
投掷;在这种情况下,ValueBoxEditor
返回最后一个已知值,这解释了为什么它不会在这种情况下抛出。
增强请求:http://code.google.com/p/google-web-toolkit/issues/detail?id=7783