经Playframework JSR-303验证的“字段”没有用于数据绑定的相应访问器
问题内容:
当我将以下代码添加到我的项目中后
Form<User> filledForm2 = userSignupForm.bindFromRequest();
它通过显示一条错误消息来停止工作,该错误消息指出:
Execution exception
[IllegalStateException: JSR-303 validated property 'Password' does not have a corresponding accessor for data binding - check your DataBinder's configuration (bean property versus direct field access)]
我的User
课是这样的:
class User{
String username;
String Password;
}
现在如何在Java Play框架中检查/修改DataBinder的配置?
问题答案:
实际上,这不应该发生,因为Play会自动生成getter和setter,请参见Guillaume的注释。
因此,您的IDE可能会引起问题,例如Guillaume的Eclipse注释。或者您的sbt缓存已损坏并且需要清理,您可以这样做play clean- all
(在此处阅读有关内容)
顺便说一句 ,将Password
属性更改为password
可能导致重新生成了缓存,因此解决了该问题。
更新:
对于使用的最新版本的Play,activator
似乎以下是最新的等效版本:
activator clean
和 activator clean-files