1
我有一些表單,我希望能夠將某些數值字段留空,但從Form.bindFromRequest()
中收到「無效值」錯誤。這似乎是一個常見的要求,但我在搜索後幾小時內找不到任何文檔。不過,我仍然希望我錯過了一些明顯的東西!將空值綁定到Play Framework 2(Java)中的數值字段
我做了一些挖掘,發現Play使用Spring的DataBinder
類來做實際的綁定。該課程非常複雜,可以讓我爲自己的領域設置自定義活頁夾,如果我使用的是Spring,我可以將@InitBinder
方法添加到我的控制器中,以便按照我想要的方式使用CustomNumberEditor
設置活頁夾。但是,除了設置允許的字段之外,Play Framework的Form
對象似乎不允許訪問DataBinder。因此,粘合劑試圖將空字符串轉換爲長,這給NumberFormatException
:
Failed to convert property value of type 'java.lang.String' to required type 'long'
for property 'unitPriceExVAT';
nested exception is java.lang.NumberFormatException: For input string: ""
那麼,有沒有得到粘結劑允許使用空數字字段的一些其他的方式?
哈哈,太棒了:)。我知道它不會像我製作它那麼複雜!像這樣的案例錯誤有時候幾乎不可能找到。感謝您的幫助 - 它當然完美! – 2013-03-07 07:47:55