我有表格,我希望能够将一些数字字段留空,但我从Form.bindFromRequest()
得到“无效值”错误。这似乎是一个常见的要求,但我在搜索后找不到任何关于此的文档。我仍然希望我错过了一些明显的东西!
我做了一些挖掘,发现Play使用Spring的DataBinder
类来进行实际绑定。该类非常复杂,并且允许我为我的字段设置自定义绑定器,如果我使用Spring,我可以向控制器添加@InitBinder
方法,以便按照我想要的方式设置绑定器{ {1}}。但是,除了设置允许的字段外,Play Framework的CustomNumberEditor
对象似乎不允许访问DataBinder。因此,绑定器会尝试将空字符串转换为long,这会产生Form
:
NumberFormatException
那么,是否有其他方法可以让活页夹允许空数字字段?
答案 0 :(得分:1)
将您的字段声明为Long
而不是long
基元类型,空值将被视为null
。